When I try to link a test suite I get this:
ld: multiple definitions of symbol boost::test_tools::(anonymous namespace)::check_is_close mspathCEntry_test.o definition of boost::test_tools::(anonymous namespace)::check_is_close in section (__DATA,__data) ModelBuilder_test.o definition of boost::test_tools::(anonymous namespace)::check_is_close in section (__DATA,__data) ld: multiple definitions of symbol boost::test_tools::(anonymous namespace)::check_is_small mspathCEntry_test.o definition of boost::test_tools::(anonymous namespace)::check_is_small in section (__DATA,__data) ModelBuilder_test.o definition of boost::test_tools::(anonymous namespace)::check_is_small in section (__DATA,__data) LinearProduct_test.o definition of boost::test_tools::(anonymous namespace)::check_is_close in section (__DATA,__data) LinearProduct_test.o definition of boost::test_tools::(anonymous namespace)::check_is_small in section (__DATA,__data) .....
This is with boost 1.33 on Darwin/OS-X. The same code was building OK with the 1.31 libraries (and 1.32 on linux, I think). I'm using libtool. Here's the makefile
I remember seeing similar report recently. As it clear from error message linker complains about multiple definitions for symbols in anonymous namespace. This looks like compiler bug. If you know any workarounds please share them with us.
Gennadiy
I had the same problem with vc 7.1. If you add 'static' to all variables definitions in anonymous namespaces it works fine. For example instead of namespace { check_is_close_t check_is_close; } You can write namespace { static check_is_close_t check_is_close; // note 'static' keyword } Best regards, Perepelitsa Roman.