[Boost Test] 1.35 - setting up VC 7 IDE to link with Boost.Test

Using VC 7.1 I have a VC Solution with all my test programs. These use the serialization library and boost test - test_exec_monitor. I've recently wanted to make some changes in 1.35 and now none of my projects link anymore. They build with bjam but I can't get them linked with VC 7 IDE. I don't have autolink suppressed. There is no message indicating that it can't find file test.....lib. What I get is undefined symbols. This i od to me as I don't use any symbosl unit_test .... I've also tried including the library unit_test_framework. That doesn't seem to help either. Any suggestions would be appreciated. Robert Ramey test_simple_class.obj : error LNK2019: unresolved external symbol "void __cdecl boost::test_tools::tt_detail::check_impl(class boost::test_tools::predicate_result const &,class boost::basic_wrap_stringstream<char> &,class boost::unit_test::basic_cstring<char const >,unsigned int,enum boost::test_tools::tt_detail::tool_level,enum boost::test_tools::tt_detail::check_type,unsigned int,...)" (?check_impl@tt_detail@test_tools@boost@@YAXABVpredicate_result@23@AAV?$basic_wrap_stringstream@D@3@V?$basic_cstring@$$CBD@unit_test@3@IW4tool_level@123@W4check_type@123@IZZ) referenced in function "int __cdecl test_main(int,char * * const)" (?test_main@@YAHHQAPAD@Z) test_simple_class.obj : error LNK2019: unresolved external symbol "public: void __thiscall boost::unit_test::unit_test_log_t::set_checkpoint(class boost::unit_test::basic_cstring<char const >,unsigned int,class boost::unit_test::basic_cstring<char const >)" (?set_checkpoint@unit_test_log_t@unit_test@boost@@QAEXV?$basic_cstring@$$CBD@23@I0@Z) referenced in function "int __cdecl test_main(int,char * * const)" (?test_main@@YAHHQAPAD@Z) test_simple_class.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall boost::unit_test::unit_test_log_t::exception_caught(class boost::execution_exception const &)" (?exception_caught@unit_test_log_t@unit_test@boost@@UAEXABVexecution_exception@3@@Z) test_simple_class.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall boost::unit_test::unit_test_log_t::assertion_result(bool)" (?assertion_result@unit_test_log_t@unit_test@boost@@UAEX_N@Z) test_simple_class.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall boost::unit_test::unit_test_log_t::test_unit_aborted(class boost::unit_test::test_unit const &)" (?test_unit_aborted@unit_test_log_t@unit_test@boost@@UAEXABVtest_unit@23@@Z) test_simple_class.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall boost::unit_test::unit_test_log_t::test_unit_skipped(class boost::unit_test::test_unit const &)" (?test_unit_skipped@unit_test_log_t@unit_test@boost@@UAEXABVtest_unit@23@@Z) test_simple_class.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall boost::unit_test::unit_test_log_t::test_unit_finish(class boost::unit_test::test_unit const &,unsigned long)" (?test_unit_finish@unit_test_log_t@unit_test@boost@@UAEXABVtest_unit@23@K@Z) test_simple_class.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall boost::unit_test::unit_test_log_t::test_unit_start(class boost::unit_test::test_unit const &)" (?test_unit_start@unit_test_log_t@unit_test@boost@@UAEXABVtest_unit@23@@Z) test_simple_class.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall boost::unit_test::unit_test_log_t::test_aborted(void)" (?test_aborted@unit_test_log_t@unit_test@boost@@UAEXXZ) test_simple_class.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall boost::unit_test::unit_test_log_t::test_finish(void)" (?test_finish@unit_test_log_t@unit_test@boost@@UAEXXZ) test_simple_class.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall boost::unit_test::unit_test_log_t::test_start(unsigned long)" (?test_start@unit_test_log_t@unit_test@boost@@UAEXK@Z) MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function _mainCRTStartup

Robert Ramey wrote: I've managed to make a project compile by explicitly including the library name in the project properties. Before the library name was ... libboost_test_exec_monitor.lib Now it is ibboost_test_exec_monitor-vc71-mt-gd-1_35.lib So it looks like that the autolinking is now creating the library under the new name. But my test program doesn't sem to look for it under the new name. Compiling the test with BOOST_LIB_DIAGNOSTIC=1 shows Linking to lib file: libboost_serialization-vc71-mt-gd-1_35.lib Linking to lib file: libboost_serialization-vc71-mt-gd-1_35.lib But no such statement for the test library - this doesn't seem correct to me Robert Ramey

Robert Ramey wrote:
Linking to lib file: libboost_serialization-vc71-mt-gd-1_35.lib Linking to lib file: libboost_serialization-vc71-mt-gd-1_35.lib
But no such statement for the test library - this doesn't seem correct to me
I believe Boost.Test does not autolink, the problem being that there are different lib builds to link against depending which "main" variant you are using. John.

"John Maddock"
Robert Ramey wrote:
Linking to lib file: libboost_serialization-vc71-mt-gd-1_35.lib Linking to lib file: libboost_serialization-vc71-mt-gd-1_35.lib
But no such statement for the test library - this doesn't seem correct to me
I believe Boost.Test does not autolink, the problem being that there are different lib builds to link against depending which "main" variant you are using.
Boost.Test does use autolink. One need to use boost/test/test_exec_monitor.hpp Gennadiy
participants (3)
-
Gennadiy Rozental
-
John Maddock
-
Robert Ramey