
Hello Gennadiy, using boost 1.35 & console runner and MSVC 2005 we did the following test: FunctionalityDLL ^ | UnitTestDLL ^ | ConsoleTestRunner.EXE (as distributed in the example directory) UnitTest.DLL had the following defines: #ifndef BOOST_TEST_DYN_LINK # define BOOST_TEST_DYN_LINK #endif #ifndef BOOST_TEST_MODULE # define BOOST_TEST_MODULE example #endif #include <boost/test/unit_test.hpp> We spent some time to figure out how to cause ConsoleTestRunner.exe to find the init_unit_test function. Finally we end up looking to preprocessed code: There we found the function: bool init_unit_test() { using namespace ::boost::unit_test; assign_op( framework::master_test_suite().p_name.value, boost::unit_test::const_string( "example", sizeof( "example" ) - 1 ).trim( "\"" ), 0 ); return true; } Only after taking the function over to the cpp module (removing BOOST_TEST_MODULE define) adding the DLL export statement and adding the C-Linkage ConsoleTestRunner was able to find the address of this function. So the compilation unit looked like: #ifndef BOOST_TEST_DYN_LINK # define BOOST_TEST_DYN_LINK #endif #include <boost/test/unit_test.hpp> #include "TestsDLL.h" extern "C" __declspec(dllexport) bool init_unit_test() { using namespace ::boost::unit_test; assign_op( framework::master_test_suite().p_name.value, boost::unit_test::const_string( "example", sizeof( "example" ) - 1 ).trim( "\"" ), 0 ); return true; } BOOST_AUTO_TEST_SUITE( FunctionalityDLLTest ) BOOST_AUTO_TEST_CASE( test1 ) { BOOST_WARN( sizeof(int) < 4 ); } BOOST_AUTO_TEST_CASE( test2 ) { BOOST_REQUIRE_EQUAL( 1, 2 ); BOOST_FAIL( "Should never reach this line" ); } BOOST_AUTO_TEST_SUITE_END() Only after these modifications we were able to compile and run unit tests. Is there any chance to either update the docs with this example so that it becomes a sort of guarantee how it might work, or let the combination of BOOST_TEST_MODULE and BOOST_TEST_DYN_LINK generate the right linkage specification and export the symbol, otherwise this symbol was not found with GetProcAddress. With Kind Regards, Ovanes