
There's an example here: http://tinyurl.com/azrrh It's some kind of multiple definition problem. Perhaps a missing "inline" somewhere? ld: multiple definitions of symbol __ZN5boost9unit_test92_GLOBAL__N__ZGVZN5boost9unit_test9ut_detail24auto_ test_unit_registrar13curr_ts_storeEvE4inst13unit_test_logE /Volumes/scratch/dgregor/BoostRegressionTesting/results/bin/boost/ libs/test/build/libboost_test_exec_monitor.a/gcc-3_3-darwin/debug/ libboost_test_exec_monitor-gcc33-d-1_34.a(framework.o) definition of __ZN5boost9unit_test92_GLOBAL__N__ZGVZN5boost9unit_test9ut_detail24auto_ test_unit_registrar13curr_ts_storeEvE4inst13unit_test_logE in section (__DATA,__data) /Volumes/scratch/dgregor/BoostRegressionTesting/results/bin/boost/ libs/test/build/libboost_test_exec_monitor.a/gcc-3_3-darwin/debug/ libboost_test_exec_monitor-gcc33-d-1_34.a(results_collector.o) definition of __ZN5boost9unit_test92_GLOBAL__N__ZGVZN5boost9unit_test9ut_detail24auto_ test_unit_registrar13curr_ts_storeEvE4inst13unit_test_logE in section (__DATA,__data) ld: multiple definitions of symbol __ZN5boost9unit_test92_GLOBAL__N__ZGVZN5boost9unit_test9ut_detail24auto_ test_unit_registrar13curr_ts_storeEvE4inst17results_collectorE /Volumes/scratch/dgregor/BoostRegressionTesting/results/bin/boost/ libs/test/build/libboost_test_exec_monitor.a/gcc-3_3-darwin/debug/ libboost_test_exec_monitor-gcc33-d-1_34.a(framework.o) definition of __ZN5boost9unit_test92_GLOBAL__N__ZGVZN5boost9unit_test9ut_detail24auto_ test_unit_registrar13curr_ts_storeEvE4inst17results_collectorE in section (__DATA,__data) /Volumes/scratch/dgregor/BoostRegressionTesting/results/bin/boost/ libs/test/build/libboost_test_exec_monitor.a/gcc-3_3-darwin/debug/ libboost_test_exec_monitor-gcc33-d-1_34.a(results_collector.o) definition of __ZN5boost9unit_test92_GLOBAL__N__ZGVZN5boost9unit_test9ut_detail24auto_ test_unit_registrar13curr_ts_storeEvE4inst17results_collectorE in section (__DATA,__data) /Volumes/scratch/dgregor/BoostRegressionTesting/results/bin/boost/ libs/test/build/libboost_test_exec_monitor.a/gcc-3_3-darwin/debug/ libboost_test_exec_monitor-gcc33-d-1_34.a(results_reporter.o) definition of __ZN5boost9unit_test92_GLOBAL__N__ZGVZN5boost9unit_test9ut_detail24auto_ test_unit_registrar13curr_ts_storeEvE4inst17results_collectorE in section (__DATA,__data) /Volumes/scratch/dgregor/BoostRegressionTesting/results/bin/boost/ libs/test/build/libboost_test_exec_monitor.a/gcc-3_3-darwin/debug/ libboost_test_exec_monitor-gcc33-d-1_34.a(unit_test_suite.o) definition of __ZN5boost9unit_test92_GLOBAL__N__ZGVZN5boost9unit_test9ut_detail24auto_ test_unit_registrar13curr_ts_storeEvE4inst17results_collectorE in section (__DATA,__data) Doug

It's some kind of multiple definition problem. Perhaps a missing "inline" somewhere?
ld: multiple definitions of symbol __ZN5boost9unit_test92_GLOBAL__N__ZGVZN5boost9unit_test9ut_detail24auto_ test_unit_registrar13curr_ts_storeEvE4inst13unit_test_logE
Here is an extract from class definition: struct auto_test_unit_registrar { .... private: static std::list<test_suite*>& curr_ts_store() { static std::list<test_suite*> inst( 1, &framework::master_test_suite() ); return inst; } }; If you know any workarounds please advise. Gennadiy
participants (2)
-
Douglas Gregor
-
Gennadiy Rozental