View previous topic :: View next topic |
Author |
Message |
Franco Gotusso Guru
Joined: 15 Apr 2004 Posts: 313 Location: Benidorm, Alicante, Spain
|
Posted: Tue Dec 20, 2005 6:15 pm Post subject: [GCC] ld roto? (cerrado) |
|
|
Muy buenas, estoy intentando compilar mi codigo fuente (Que hace unos dias compilaba) y me encuentro esto:
Code: | fran@localhost ~/Desktop $ gcc -o ajedrez ej2.cc
ej2.cc:28:34: aviso: constante de carácter con múltiples caracteres
/tmp/ccgjyX8X.o: In function `std::__verify_grouping(char const*, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':ej2.cc:(.text+0xd): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const'
ej2.cc:(.text+0x60): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned int) const'
ej2.cc:(.text+0x9f): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned int) const'
ej2.cc:(.text+0xce): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned int) const'
/tmp/ccgjyX8X.o: In function `mostrar_tablero(char (*) [8])':
ej2.cc:(.text+0x1c2): undefined reference to `std::cout'
ej2.cc:(.text+0x1c7): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)'
ej2.cc:(.text+0x1d6): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
ej2.cc:(.text+0x1dd): undefined reference to `std::cout'
ej2.cc:(.text+0x1e2): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
/tmp/ccgjyX8X.o: In function `mover(int, int, int, int, char (*) [8], char (*) [8])':
ej2.cc:(.text+0x2d0): undefined reference to `std::cout'
ej2.cc:(.text+0x2d5): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
ej2.cc:(.text+0x2dd): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
ej2.cc:(.text+0x2e5): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
/tmp/ccgjyX8X.o: In function `__static_initialization_and_destruction_0(int, int)':
ej2.cc:(.text+0x309): undefined reference to `std::ios_base::Init::Init()'
/tmp/ccgjyX8X.o: In function `__tcf_0':
ej2.cc:(.text+0x33a): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccgjyX8X.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld devolvió el estado de salida 1
|
La verdad es que no se por donde pillarlo, he probado a recompilar mi gcc actualizado a 3.4.4 recientemente y tambien con revdep, pero todo esto sin exito. ¿Algun consejo?
Muchas gracias. _________________ Los programadores están ocupados intentando mejorar los programas a prueba de idiotas. Mientras tanto el universo intenta mejorar a los idiotas. El universo va ganando.
Last edited by Franco Gotusso on Tue Dec 20, 2005 11:00 pm; edited 1 time in total |
|
Back to top |
|
|
alexlm78 Veteran
Joined: 08 Dec 2003 Posts: 1265 Location: Guatemala,Guatemala
|
Posted: Tue Dec 20, 2005 6:21 pm Post subject: |
|
|
Le has realizado cambios recientemente al codigo, eso me ha pasado, y por lo general son errores de programacion, errores semanticos para ser mas preciso.
delaraste es namespace?, estas usanso ANSI C++?, Usas alguna libreria extra, (gtk, qt, ncurse, etc)?
Esta info podria ayudar.
Suerte. _________________ "This is a different kind of world, you need a different kind of software"
Linux User# 315201
100% Chapin hecho en Guatemala |
|
Back to top |
|
|
LinuxBlues l33t
Joined: 26 Mar 2005 Posts: 892
|
Posted: Tue Dec 20, 2005 6:43 pm Post subject: |
|
|
Me parece más OT que cuestión de GCC pero bueno
La imposibilidad de hallar las referencias a clases C++ solo me ha pasado con la CXXFLAG -fvisibility=hidden, aunque dudo que sea por eso, porque nunca terminaba con el error en ld...
Doy por hecho, que has realizado el
fix_libtool_files.sh 3.3.6
después de actualizar, me da la impresión que el error viene de no haberlo ejecutado. |
|
Back to top |
|
|
Franco Gotusso Guru
Joined: 15 Apr 2004 Posts: 313 Location: Benidorm, Alicante, Spain
|
Posted: Tue Dec 20, 2005 10:18 pm Post subject: |
|
|
Falla tambien en codigo que no tiene cambios, asi que me parece que queda descartado un fallo de programacion.
Y tampoco puede ser de las flags porque pasa al ejecutar gcc a pelo.
Segui en su momento la guia oficial de actualizacion de gcc y hoy he probado de hacer el fix_libtool, aunque no diga nada en la guia.
Tambien he probado de recompilar glibc pero el tema sigue igual. Por cierto, se me olvido comentar que con revdep me suelta varias lineas del estilo de Code: |
ldd: warning: you do not have execution permission for `/usr/X11R6/lib/openoffice/program/python-core-2.3.4/lib/lib-dynload/mpz.so'
|
Y pese a recompilar los paquetes que pide no se arreglan.
¿Alguna idea mas?
Muchas gracias de antemano. _________________ Los programadores están ocupados intentando mejorar los programas a prueba de idiotas. Mientras tanto el universo intenta mejorar a los idiotas. El universo va ganando. |
|
Back to top |
|
|
Franco Gotusso Guru
Joined: 15 Apr 2004 Posts: 313 Location: Benidorm, Alicante, Spain
|
Posted: Tue Dec 20, 2005 11:00 pm Post subject: |
|
|
Solucionado. He estado hechando un ojo a los foros ingleses y he visto que con gcc 3.4.4 tengo que llamar a g++ por cojones para compilar en c++. Muchas gracias por el interes. Salud. _________________ Los programadores están ocupados intentando mejorar los programas a prueba de idiotas. Mientras tanto el universo intenta mejorar a los idiotas. El universo va ganando. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|