| 
	
		|  Autor | Tema: Como resolver estos errores?  (Leído 9,140 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 -ltrampolineDe 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 -lsecur32
 Me 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.oC:/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.aRecordaros 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,722 |  16 Febrero 2010, 02:13 am por micky123
 |  
						|   |   | [C][?]Ayuda a resolver estos errores Programación C/C++
 | Xcution | 1 | 2,817 |  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 | 2,192 |  29 Noviembre 2013, 03:44 am por Xcution
 |  
						|   |   | Microsoft te ayuda a resolver errores provocados por actualizaciones en .... Noticias
 | wolfbcn | 0 | 1,554 |  24 Diciembre 2016, 19:04 pm por wolfbcn
 |  
						|   |   | Como solucionar estos errores de mi proyecto Programación C/C++
 | Borito30 | 1 | 3,364 |  13 Marzo 2017, 01:56 am por Borito30
 |    |