I'm having problems using Boost.Test if I split up my tests into multiple files.
If I define BOOST_TEST_DYN_LINK I get the following errors:
c:\program files\boost\boost_1_36_0\boost\test\impl\compiler_log_formatter.ipp(46) : warning C4273: 'boost::unit_test::output::compiler_log_formatter::log_start' : inconsistent dll linkage
c:\program files\boost\boost_1_36_0\boost\test\output\compiler_log_formatter.hpp(39) : see previous definition of 'log_start'
c:\program files\boost\boost_1_36_0\boost\test\impl\compiler_log_formatter.ipp(56) : warning C4273: 'boost::unit_test::output::compiler_log_formatter::log_finish' : inconsistent dll linkage
.
.
.
and if I don't define that I get the following
matrix.obj : error LNK2005: "public: virtual void __thiscall boost::unit_test::output::compiler_log_formatter::log_start(class std::basic_ostream<char,struct std::char_traits<char> > &,unsigned long)" (?log_start@compiler_log_formatter@output@unit_test@boost@@UAEXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@K@Z) already defined in camera.obj
matrix.obj : error LNK2005: "public: virtual void __thiscall boost::unit_test::output::compiler_log_formatter::log_finish(class std::basic_ostream<char,struct std::char_traits<char> > &)" (?log_finish@compiler_log_formatter@output@unit_test@boost@@UAEXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@@Z) already defined in camera.obj
matrix.obj : error LNK2005: "public: virtual void __thiscall boost::unit_test::output::compiler_log_formatter::log_build_info(class std::basic_ostream<char,struct std::char_traits<char> > &)" (?log_build_info@compiler_log_formatter@output@unit_test@boost@@UAEXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@@Z) already defined in camera.obj
.
.
.
In my files is the following:
matrix.cpp
#define BOOST_TEST_MODULE example
#include <boost/test/included/unit_test.hpp>
//____________________________________________________________________________//
BOOST_AUTO_TEST_CASE( test_matrix1 )
{
BOOST_CHECK( 1 == 0 );
}
//____________________________________________________________________________//
BOOST_AUTO_TEST_CASE( test_matrix2 )
{
BOOST_CHECK_EQUAL( 0, 0 );
}
//____________________________________________________________________________//
camera.cpp
#include <boost/test/included/unit_test.hpp>