
No, unless I also define BOOST_TEST_DYN_LINK, but then I have to copy across the boost test dll (it's not picked up in the manifest by default). As far as I can tell, the culprit seems to be the following in <boost/test/unit_test.hpp> //____________________________________________________________________________// // ************************************************************************** // // ************** Auto Linking ************** // // ************************************************************************** // #if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_TEST_NO_LIB) && \ !defined(BOOST_TEST_SOURCE) && !defined(BOOST_TEST_INCLUDED) # define BOOST_LIB_NAME boost_unit_test_framework # if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_TEST_DYN_LINK) # define BOOST_DYN_LINK # endif # include <boost/config/auto_link.hpp> #endif // auto-linking disabled // ************************************************************************** // // ************** unit_test_main ************** // // ************************************************************************** // namespace boost { namespace unit_test { int BOOST_TEST_DECL unit_test_main( init_unit_test_func init_func, int argc, char* argv[] ); }} #if defined(BOOST_TEST_DYN_LINK) && defined(BOOST_TEST_MAIN) && !defined(BOOST_TEST_NO_MAIN) // ************************************************************************** // // ************** main function for tests using dll ************** // // ************************************************************************** // int BOOST_TEST_CALL_DECL main( int argc, char* argv[] ) { return ::boost::unit_test::unit_test_main( &init_unit_test, argc, argv ); } //____________________________________________________________________________// #endif // BOOST_TEST_DYN_LINK && BOOST_TEST_MAIN && !BOOST_TEST_NO_MAIN Rgds Staffan Tj. Staffan Tjernström | Sr. Software Engineer - Market Data Systems | www.esignal.com eSignal, Interactive Data Desktop Solutions (NYSE: IDC) 3955 Point Eden Way | Hayward, CA 94545-3720 | 510.723.1723 | FAX: 510.266.6100 -----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of John C. Femiani Sent: Friday, 18 July, 2008 09:56 To: boost-users@lists.boost.org Subject: Re: [Boost-users] [test] Fatal link error LNK1561: entry point must be defined when using boost.test Tjernstrom, Staffan wrote:
What happens is that I try to compile / link any of the unit test examples in Visual Studio 2005 Pro, for example the code at
http://www.boost.org/doc/libs/test/example/unit_test_example_05.cpp
Every time I try to click on a unit test example link I have been getting a 404 error :( Can other people use links like this?
I keep getting the LNK1561: entry point must be defined error. I know that it's looking for, and picking up, the libboost_unit_test_framework-vc80-mt-1_35.lib as if I remove the /LIBPATH from the link command options it compains that it cannot find that library.
I have my project settings set as follows:
Compiler: /O2 /GL /I "C:\Program Files (x86)\boost\boost_1_35_0" /D "_MBCS" /FD /EHa /MD /Fo"Release\\" /Fd"Release\vc80.pdb" /W3 /nologo /c /Wp64 /Zi /TP /errorReport:prompt
Linker: /OUT:"D:\staffan\Documents\Visual Studio 2005\Projects\CeT3x\test\AllUnitTests\Release\test_XOLibrary.exe" /NOLOGO /LIBPATH:"C:\Program Files (x86)\boost\boost_1_35_0\lib" /MANIFEST /MANIFESTFILE:"Release\test_XOLibrary.exe.intermediate.manifest" /DEBUG /PDB:"d:\staffan\Documents\Visual Studio 2005\Projects\CeT3x\test\AllUnitTests\release\test_XOLibrary.pdb" /OPT:REF /OPT:ICF /LTCG /MACHINE:X86 /ERRORREPORT:PROMPT kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
Any thoughts anyone?
Does it work if BOOST_TEST_MAIN is defined? --John Femiani _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users DISCLAIMER: This message (including any files transmitted with it) may contain confidential and / or proprietary information, is the property of Interactive Data Corporation and / or its subsidiaries and is directed only to the addressee(s). If you are not the designated recipient or have reason to believe you received this message in error, please delete this message from your system and notify the sender immediately. An unintended recipient's disclosure, copying, distribution or use of this message, or any attachments, is prohibited and may be unlawful.