Does "mylibrary" use functions from "library1"? Have you tried changing the order of the libraries on the command line?
From "g++ test.cpp -o test -llibrary1 -lmylibrary" to "g++ test.cpp -o test -lmylibrary -llibrary1"
Try just compiling "test.cpp" and looking at the symbol table as follows
Do the same with the library
From "g++ test.cpp -o test -llibrary1 -lmylibrary" to "g++ test.cpp -o test -lmylibrary -llibrary1"
Try just compiling "test.cpp" and looking at the symbol table as follows
Code:
% g++ -c test.cxx -o test.o% nm -C test.o U __aeabi_atexit U __aeabi_unwind_cpp_pr1 U __dso_handle00000128 t _GLOBAL__sub_I_main00000000 T main000000c4 t __static_initialization_and_destruction_0(int, int)00000000 r testarr U MyClass::test() U MyClass::MyClass(int, int) U std::ostream::operator<<(int) U std::ostream::operator<<(std::ostream& (*)(std::ostream&)) U std::ios_base::Init::Init() U std::ios_base::Init::~Init() U std::cout U std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)00000000 b std::__ioinit U std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)
Code:
% nm -C /usr/local/lib/libmylibrary.amylibrary.o:00000000 r testarr00000088 T MyClass::test()00000000 T MyClass::MyClass(int, int)0000003c T MyClass::MyClass(int, int, int)00000000 T MyClass::MyClass(int, int)0000003c T MyClass::MyClass(int, int, int)
Statistics: Posted by AndyD — Mon Jun 17, 2024 2:52 am