[boost.test] Missing entry point when statically linking to VC2012 but no problem with VC2010

I have been using a source template for unit test with boost.test, which
used to be working well until I started to use VC2012 RC.
Here's a minimal repo:
#include

Hi Tom,
shouldn't it be
#include
I have been using a source template for unit test with boost.test, which used to be working well until I started to use VC2012 RC. ****
** **
** **
Here’s a minimal repo:****
** **
#include
**** using namespace boost::unit_test::framework;****
using namespace boost::unit_test;****
** **
test_suite* init_unit_test_suite(int argc, char *argv[])****
{****
BOOST_TEST_MESSAGE("hello test.");****
** **
return 0;****
}****
** **
** **
With the same build options:****
cl.exe /EHsc /MT main.cpp****
** **
VC2010 compiles fine. VC2012 outputs: ****
LINK : fatal error LNK1561: entry point must be defined.****
** **
Added BOOST_TEST_MAIN caused errors for both compilers.****
error C2084: function 'boost::unit_test::test_suite *init_unit_test_suite(int,char *[])' already has a body****
** **
I tested on both 1.49 and 1.50. And the results are the same. I suspect there is a bug of version check against MSVC but could not locate it.****
** **
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- So young, and already so unknown -- Pauli blog: http://mcraveiro.blogspot.com

Tan, Tom (Shanghai
#include
using namespace boost::unit_test::framework; using namespace boost::unit_test; test_suite* init_unit_test_suite(int argc, char *argv[]) { BOOST_TEST_MESSAGE("hello test."); return 0; } With the same build options: cl.exe /EHsc /MT main.cpp VC2010 compiles fine. VC2012 outputs: LINK : fatal error LNK1561: entry point must be defined.
Don't you need to link with static library? Can you try using single header variants? Gennadiy
participants (3)
-
Gennadiy Rozental
-
Marco Craveiro
-
Tan, Tom (Shanghai)