symbol lookup error: undefined symbol

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello. I'm having problems with what it seemed to work before. I'm
under ubuntu 9.04, gcc .4.3.3 compiler.

I have a project in which I build a shared library.
The shared library is later used  in an executable.

When I try to run the executable, once compiled, I get a strange error:

It does not find some symbols from my shared library. I checked the
library with the program nm.
There are no undefined (relevant) symbols for my shared library there.

However, in my executable, the following is shown with nm -u (I just
copy here what it's relevant):

         U _ZN3ftr10Aplicacion11dibujarTodoER9SDL_Event
         U _ZN3ftr10Aplicacion11inicializarEv
         U _ZN3ftr10Aplicacion12addDibujableERKN5boost8functionIFvR9SDL_EventESaIvEEENS_15PrioridadDibujoE
         U _ZN3ftr10Aplicacion17refrescarPantallaEv
         U _ZN3ftr10Aplicacion8addTareaEPFvR9SDL_EventE
         U _ZN3ftr10Aplicacion8ejecutarEv
         U _ZN3ftr10AplicacionD1Ev
         U _ZN3ftr12MonitorDatos7dibujarER9SDL_Event
         U _ZN3ftr12MonitorDatosC1Ev
         U _ZN3ftr12MonitorDatosD1Ev
         U _ZN3ftr18ParseadorEscenario7parsearERKSs
         U _ZN3ftr18ParseadorEscenarioC1ERNS_9EscenarioE
         U _ZN3ftr18ParseadorEscenarioD1Ev
         U _ZN3ftr18ParseadorPersonaje7parsearERKSs
         U _ZN3ftr18ParseadorPersonajeC1ERNS_9PersonajeE
         U _ZN3ftr18ParseadorPersonajeD1Ev
         U _ZN3ftr9Escenario11inicializarEv
         U _ZN3ftr9Escenario7dibujarER9SDL_Event
         U _ZN3ftr9EscenarioC1Ev
         U _ZN3ftr9EscenarioD1Ev
         U _ZNK3ftr9Personaje7getPosXEv
         U _ZNK3ftr9Personaje7getPosYEv


These symbols are from the library I compiled, and they appear as
undefined in the executable, so when I try to execute
my program, it fails.

If I compile a Static library everything is ok, but I need to compile
a shared library for other purposes.


This compilation command is used to build files in my shared library:

  g++ -o build/linux2/release/libmylib/Utility.os -c -O3 -fPIC
-D_GNU_SOURCE=1 -D_REENTRANT -DDATA_DIR=\"/usr/share/mylib/\"
-DTIXML_USE_STL=YES -I/usr/include/python2.6 -I/usr/include/SDL
-Ibuild/linux2/release/libmylib -Ilibmylib -Itinyxml
libfollowtherabbit/Utility.cpp

This is the link gcc command:

g++ -o build/linux2/release/libmylib/libmylib.so -shared (all object
files here and other libraries here)

This is used for my executable:

  g++ -o build/linux2/release/src/myprogram
build/linux2/release/src/myprogram.o -Lbuild/linux2/release/libmylib
-Llibmylib -L/usr/lib -lmylib
build/linux2/release/tinyxml/libtinyxml.a -lSDL_ttf -lSDL_mixer -lSDL

Thanks for your help

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux