Autor
|
Tema: Como resolver estos errores? (Leído 8,146 veces)
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Antes de nada, me aprece raro que al generar la librería de esos errores. ¿Siempre te los dió?
|
|
|
En línea
|
|
|
|
Borito30
Desconectado
Mensajes: 481
|
Al final me devuelve este error cuando añado la libreria que es (hook.c) con todas sus .o ficheros de linkeado, y perdona por liarla tanto con tanto texto, me devuelve: C:\Users\Androide\Desktop\minhook\Dynamic>g++ -o bot.exe Dynamic.o hook.o hde32. o buffer.o trampoline.o hook.o:hook.c:(.text+0x60b): undefined reference to `OpenThread' hook.o:hook.c:(.text+0x69d): undefined reference to `OpenThread' hook.o:hook.c:(.text+0xa2c): undefined reference to `InitializeBuffer' hook.o:hook.c:(.text+0xa7d): undefined reference to `UninitializeBuffer' hook.o:hook.c:(.text+0xb14): undefined reference to `IsExecutableAddress' hook.o:hook.c:(.text+0xb27): undefined reference to `IsExecutableAddress' hook.o:hook.c:(.text+0xb52): undefined reference to `AllocateBuffer' hook.o:hook.c:(.text+0xb7c): undefined reference to `CreateTrampolineFunction' hook.o:hook.c:(.text+0xca0): undefined reference to `FreeBuffer' hook.o:hook.c:(.text+0xd82): undefined reference to `FreeBuffer' C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/4.9.2/../../../../mingw 32/bin/ld.exe: hook.o: bad reloc address 0x13c in section `.rdata' C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/4.9.2/../../../../mingw 32/bin/ld.exe: final link failed: Invalid operation collect2.exe: error: ld returned 1 exit status Supongo que tendré que linkear tambien a la librería openthread añadiendo -lopenthread o algo así. Con gloox se me soluciono los errores añadiendo el linkeado de estas librerias -lws2_32 -ldnsapi -lgdi32 -lcrypt32 -lsecur32 supongo será igual para este proyecto pero con otras librerias de linkeado.
|
|
« Última modificación: 14 Marzo 2017, 22:01 pm por Ragaza »
|
En línea
|
Estoy en contra del foro libre y la Sección de juegos y consolas (distraen al personal)
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Prueba compilando como hacías antes así: gcc -o bot.exe Dynamic.cpp -L"Direccion de la carpeta de los archivos de la librería" -lhook -lhde32 -lbuffer -ltrampoline De todos modos, estaba leyendo y: #pragma comment(lib, "MinHook.x64.lib")
Tienes eso en el código. Eso solo funciona en VC++. Y esa es otra, ¿tienes un .lib? Si tienes ese .lib, entonces prueba algo como: gcc -o bot.exe Dynamic.cpp -L"Direccion de la carpeta de los archivos de la librería" -l"MinHook.x64" En fin, si no te funciona nada de esto, mira información sobre la librería...
|
|
|
En línea
|
|
|
|
Borito30
Desconectado
Mensajes: 481
|
Me referia a esto(lo solucione así como indicastes solo añadiendo los linkeados): -------------- Build: Debug in main (compiler: GNU GCC Compiler)---------------
mingw32-g++.exe -Wall -fexceptions -g -IC:\openssl-1.0.1c_static_w32_mingw\include -IC:\openssl-1.0.1c_static_w32_mingw\include -IC:\Users\Androide\Desktop\gloox\src -c C:\Users\Androide\Desktop\main\main.cpp -o obj\Debug\main.o mingw32-g++.exe -LC:\openssl-1.0.1c_static_w32_mingw -LC:\Users\Androide\Desktop\gloox -o bin\Debug\main.exe obj\Debug\main.o C:\openssl-1.0.1c_static_w32_mingw\libcrypto.a C:\openssl-1.0.1c_static_w32_mingw\libssl.a C:\Users\Androide\Desktop\gloox\libgloox.a -lws2_32 -ldnsapi -lgdi32 -lcrypt32 -lsecur32Me han recomendado usar cmake pero no se muy bien como compilar mi proyecto con cmake ya que usa una version antigua: TDM-GCC 4.9.2 SJLJ (released in October 30, 2014), Pero la cuestión es como usar cmake captura de cmake y mis ficheros: Supongo que tendré que hacer un proyecto en codeblocks y compilarlo. Se supone que tengo que generar el makefile de mi proyecto con mingw creo y luego compilarlo con cmake que esta actualizado y no da estos problemas.
|
|
« Última modificación: 14 Marzo 2017, 23:57 pm por Ragaza »
|
En línea
|
Estoy en contra del foro libre y la Sección de juegos y consolas (distraen al personal)
|
|
|
Borito30
Desconectado
Mensajes: 481
|
Parece ser que el error open thread es resuelto usando la versión de msys que utiliza una versión mas actualizada. Me aparecen los mismos errores de undefined reference es decir del proyecto como los que resolvistes anteriormente: $ g++ -o /c/Users/Androide/Desktop/minhook/Dynamic/Dynamic.exe /c/Users/Androide/Desktop/minhook/Dynamic/Dynamic.o /c/Users/Androide/Desktop/minhook/Dynamic/hook.o C:/Users/Androide/Desktop/minhook/Dynamic/hook.o:hook.c:(.text+0xab6): undefined reference to `InitializeBuffer()' C:/Users/Androide/Desktop/minhook/Dynamic/hook.o:hook.c:(.text+0xb07): undefined reference to `UninitializeBuffer()' C:/Users/Androide/Desktop/minhook/Dynamic/hook.o:hook.c:(.text+0xba2): undefined reference to `IsExecutableAddress(void*)' C:/Users/Androide/Desktop/minhook/Dynamic/hook.o:hook.c:(.text+0xbb1): undefined reference to `IsExecutableAddress(void*)' C:/Users/Androide/Desktop/minhook/Dynamic/hook.o:hook.c:(.text+0xbec): undefined reference to `AllocateBuffer(void*)' C:/Users/Androide/Desktop/minhook/Dynamic/hook.o:hook.c:(.text+0xc16): undefined reference to `CreateTrampolineFunction(_TRAMPOLINE*)' C:/Users/Androide/Desktop/minhook/Dynamic/hook.o:hook.c:(.text+0xd3d): undefined reference to `FreeBuffer(void*)' C:/Users/Androide/Desktop/minhook/Dynamic/hook.o:hook.c:(.text+0xe17): undefined reference to `FreeBuffer(void*)' collect2.exe: error: ld returned 1 exit status
Supongo que se podrá resolver usando void en estos métodos como me dijistes anteriormente. Te pongo el código de la librería: http://rextester.com/GLAIG22887
|
|
« Última modificación: 15 Marzo 2017, 15:04 pm por Ragaza »
|
En línea
|
Estoy en contra del foro libre y la Sección de juegos y consolas (distraen al personal)
|
|
|
Borito30
Desconectado
Mensajes: 481
|
Hola ivancea te he puesto el error actualizado que es de la librería pienso que se solucionara igual si tienes unos instantes fijate sino lo dejo asi. saludos y gracias.
|
|
|
En línea
|
Estoy en contra del foro libre y la Sección de juegos y consolas (distraen al personal)
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
No, esos son errores del linker. Tienes que diferenciarlos. Cuando pone "ld returned 1" es error del linker ("ld" es el linker de GCC). Las undefined references también son del linker. "hook.o", está trabajando con el código objeto, ergo probablemente también sea del linker. ".text+0xab6", ".text" es una sección de un ejecutable, así que también implica linker.
En cualquier caso. Los errores de linker se solucionan linkeando bien las librerías, valga la redundacia. Intuyo que "InitializeBuffer" es una función de una librería. No veo que se la hayas indicado al compilar, con -L y/o -l.
|
|
|
En línea
|
|
|
|
Borito30
Desconectado
Mensajes: 481
|
Te pongo un ejemplo, tengo hasta el buffer creado .a: Muchas gracias funciono. Os pongo el ultimo comando que teneis que poner: g++ -o bot.exe Dynamic.o hook.o -L/c/Users/Androide/Desktop/minhook/Dynamic/ trampoline.a buffer.a hde32.a Recordaros que codeblocks trae una versión antigua que a veces pues no incluye ciertas librerias por defecto y si actualizais evitais conflicto , gracias ivancea por tu ayuda.
|
|
« Última modificación: 15 Marzo 2017, 18:56 pm por Ragaza »
|
En línea
|
Estoy en contra del foro libre y la Sección de juegos y consolas (distraen al personal)
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Urgente ayudenme resolver estos ejercicos en C#
Ejercicios
|
Ruben Yiyo
|
4
|
7,385
|
16 Febrero 2010, 02:13 am
por micky123
|
|
|
[C][?]Ayuda a resolver estos errores
Programación C/C++
|
Xcution
|
1
|
2,579
|
1 Noviembre 2013, 20:50 pm
por vangodp
|
|
|
Necesito ayuda para resolver estos errores en este programa de C
Programación C/C++
|
Xcution
|
0
|
1,931
|
29 Noviembre 2013, 03:44 am
por Xcution
|
|
|
Microsoft te ayuda a resolver errores provocados por actualizaciones en ....
Noticias
|
wolfbcn
|
0
|
1,389
|
24 Diciembre 2016, 19:04 pm
por wolfbcn
|
|
|
Como solucionar estos errores de mi proyecto
Programación C/C++
|
Borito30
|
1
|
2,647
|
13 Marzo 2017, 01:56 am
por Borito30
|
|