vs10 编译安装boost
? ?参数:?
? ?stagedir 编译后生成文件存放路径
? ?link: 生成静态/动态库,一般生成静态库
?
5. 编译完成
? ?等待半个多小时后,编译完成,会在E:/boost目录生成bin.v2(中间目录,可删除),和bin目录. bin/lib目录下存放的是debug/release版本的静态库
?
5. vs10下测试boost库
? ? vs10下新建win32控制台项目:
? ? 附加库目录: E:/boost
? ? 附加库目录: E:/boost/bin/lib?
? ? 代码:?
?
? ? 编译出现大量链接错误:
? ??1>libboost_regex-vc100-mt-sgd-1_53.lib(instances.obj) : error LNK2005: "public: __thiscall std::_Container_base12::_Container_base12(void)" (??0_Container_base12@std@@QAE@XZ) 已经在 msvcprtd.lib(MSVCP100D.dll) 中定义
? ? 1>libboost_regex-vc100-mt-sgd-1_53.lib(instances.obj) : error LNK2005: "public: __thiscall std::_Container_base12::~_Container_base12(void)" (??1_Container_base12@std@@QAE@XZ) 已经在 msvcprtd.lib(MSVCP100D.dll) 中定义
? ?1>libboost_regex-vc100-mt-sgd-1_53.lib(regex_traits_defaults.obj) : error LNK2005: "public: void __thiscall std::_Container_base12::_Orphan_all(void)" (?_Orphan_all@_Container_base12@std@@QAEXXZ) 已经在 msvcprtd.lib(MSVCP100D.dll) 中定义
? ?1>LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
? ?1>F:\vs workspace\boost\Debug\boost.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
?
? ? 解决方法:
? ? msvcprtd.lib表示要用静态库,所以在生成要链接到这个项目的lib时,设置 工程/属性/C/C++/代码生成/运行库 /MTd,重新编译,一切OK
? ??
?
?
? ??