boost test 为什么出错?

feidegengao 2012-11-27 10:22:26

#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 个无法解析的外部命令

都按照书上的例子写的,怎么有这么多错误,求大神指点
...全文
106 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
feidegengao 2012-11-27
  • 打赏
  • 举报
回复
引用 1 楼 sduxiaoxiang 的回复:
库文件没有。。。
怎么会没有呢?我在属性->VC++目录->包含目录 设置了D;/boost_1_49_0了
sduxiaoxiang 2012-11-27
  • 打赏
  • 举报
回复
库文件没有。。。

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧