Paul Pluzhnikov wrote: > "Nilesh" <[EMAIL PROTECTED]> writes: > > > I am facing problem in using a so inan EXE . I created the so. > > Versions: g++ 4.4.1 on AIX 5.2 system. > > Wow! Current gcc development version is 4.2. > Can I borrow your time machine?
Correction its 4.1.1. > > > The EXE is using it like this: > > g++ -o EXENAME -O3 -v -L/usr/lib/threads -L/usr/local/lib -L/usr/lib > > -L./../../libs/aix -lstdc++ -lgcc -lgcc_eh -liiapi -lm -lnsl -lpthread > > -lc -Wl,-blibpath:/home/ngujarat/work/BiiF/libs/aix -Wl,-brtl -liif > > ../src/THIRDPARTYEMSReceiver.o ../src/BiiMain.o > > That command line is completely backwards: archive libraries are > supposed to follow objects on the link line, not preceed them. > > This doesn't matter much on AIX, but will break on any other UNIX. > > > But EXE compilation fails with "ld: 0711-317 ERROR: Undefined symbol:" > > Errors for some constructors. Destructors, static data members in a > > class. Perhaps these are not referenced directly in course code. > > You've omitted the most important part of the message -- precisely > which symbols are undefined. The symbols are constructors and destructors, static variables, or abstract classes. The symbols are the C++ classes, some std::char_traits. Like: ld: 0711-317 ERROR: Undefined symbol: .BMCIIF_Logger::log(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int) ld: 0711-317 ERROR: Undefined symbol: typeinfo for BMCIIF_DefaultTPEMSEvent ld: 0711-317 ERROR: Undefined symbol: BMCIIF_DefaultDispatcher::m_objOtherEMSNewDispatchedEventsCount ld: 0711-317 ERROR: Undefined symbol: .BMCIIF_Statistics::operator++(int) ld: 0711-317 ERROR: Undefined symbol: .BMCIIF_DefaultDispatcher::log(std::basic_st > > > NOTE: I ran "nm" on libiif.so for Undefined symbols and they are not > > found in the SO. > > Are they supposed to be found there? Yes since they are not found the exe linking fails. > > > WHY Is this happening? > > Because you are doing something wrong, and because AIX is PITA to > work with when using GNU tools. > > > Anything wrong in building SO or wrong use of SO? Flags missing? > > We can't tell since you didn't tell us enough details. > > Cheers, > -- > In order to understand recursion you must first understand recursion. > Remove /-nsp/ for email. _______________________________________________ help-gplusplus mailing list help-gplusplus@gnu.org http://lists.gnu.org/mailman/listinfo/help-gplusplus