On Friday 11 July 2014 14:53:04 Axel Ismirlian wrote:
I was wondering where the symbol .test_main(int, char**) is defined if it comes up undefined.
gcc.compile.c+ + ../bin.v2/libs/asio/test/basic_datagram_socket_select.test/gcc-4.8.1/debug/ threading-multi/basic_datagram_socket.o gcc.link ../bin.v2/libs/asio/test/basic_datagram_socket_select.test/gcc-4.8.1/debug/ threading-multi/basic_datagram_socket_select ld: 0711-224 WARNING: Duplicate symbol: .init_unit_test_suite(int, char**) ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. ld: 0711-317 ERROR: Undefined symbol: .test_main(int, char**) collect2: error: ld returned 8 exit status
I have done an object dump and I know it is undefined in libboost_test_exec_monitor.a, but that's as far as I got.
I think, test_main is supposed to be defined by the test. Optionally, Boost.Test could generate it if asked. I think you should define BOOST_TEST_MODULE for that. I don't know if Boost.ASIO tests are supposed to work that way.