#include "stdafx.h"
#include <iostream>
using namespace std;
#define BOOST_TEST_INCLUDED
#define BOOST_TEST_MAIN maintest
#include <boost/test/unit_test.hpp>
#include <boost/smart_ptr.hpp>
using namespace boost;
BOOST_AUTO_TEST_SUITE(s_smart_ptr)
BOOST_AUTO_TEST_CASE(t_scoped_ptr)
{
scoped_ptr<int> p(new int(874));
BOOST_CHECK(p);
BOOST_CHECK_EQUAL(*p, 874);
p.reset();
BOOST_CHECK(p == 0);
}
BOOST_AUTO_TEST_CASE(t_shared_ptr)
{
boost::shared_ptr<int> p(new int(100));
BOOST_CHECK(p);
BOOST_CHECK_EQUAL(*p, 100);
BOOST_CHECK_EQUAL(p.use_count(), 1);
boost::shared_ptr<int> p2 = p;
BOOST_CHECK_EQUAL(p, p2);
BOOST_CHECK_EQUAL(p2.use_count(), 2);
*p2 = 255;
BOOST_CHECK_EQUAL(*p, 255);
BOOST_CHECK_GT(*p, 200);
}
BOOST_AUTO_TEST_SUITE_END()
出错消息为:1>BoostTest.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(class boost::unit_test::test_case *,unsigned long)" (??0auto_test_unit_registrar@ut_detail@unit_test@boost@@QAE@PAVtest_case@23@K@Z),该符号在函数 "void __cdecl s_smart_ptr::`dynamic initializer for 't_scoped_ptr_registrar15''(void)" (??__Et_scoped_ptr_registrar15@s_smart_ptr@@YAXXZ) 中被引用
1>BoostTest.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall boost::unit_test::test_case::test_case(class boost::unit_test::basic_cstring<char const >,class boost::unit_test::callback0<struct boost::unit_test::ut_detail::unused> const &)" (??0test_case@unit_test@boost@@QAE@V?$basic_cstring@$$CBD@12@ABV?$callback0@Uunused@ut_detail@unit_test@boost@@@12@@Z),该符号在函数 "class boost::unit_test::test_case* __cdecl boost::unit_test::make_test_case(class boost::unit_test::callback0<struct boost::unit_test::ut_detail::unused> const &,class boost::unit_test::basic_cstring<char const >)" (?make_test_case@unit_test@boost@@YAPAVtest_case@12@ABV?$callback0@Uunused@ut_detail@unit_test@boost@@@12@V?$basic_cstring@$$CBD@12@@Z) 中被引用
1>BoostTest.obj : error LNK2019: 无法解析的外部符号 "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl boost::unit_test::ut_detail::normalize_test_case_name(class boost::unit_test::basic_cstring<char const >)" (?normalize_test_case_name@ut_detail@unit_test@boost@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$basic_cstring@$$CBD@23@@Z),该符号在函数 "class boost::unit_test::test_case * __cdecl boost::unit_test::make_test_case(class boost::unit_test::callback0<struct boost::unit_test::ut_detail::unused> const &,class boost::unit_test::basic_cstring<char const >)" (?make_test_case@unit_test@boost@@YAPAVtest_case@12@ABV?$callback0@Uunused@ut_detail@unit_test@boost@@@12@V?$basic_cstring@$$CBD@12@@Z) 中被引用
1>LIBCMTD.lib(crt0.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用
1>D:\Users\lihua\Documents\Visual Studio 2010\Projects\BoostTest\Debug\BoostTest.exe : fatal error LNK1120: 17 个无法解析的外部命令
都按照书上的例子写的,怎么有这么多错误,求大神指点