Boost库跨平台源并且完全免费C++库内容涵盖字符串处理、则表达式、容器与数据结构、并发编程、函数式编程、泛型编程、设计模式实现等许领域使实际发更加灵高效(
2.系统要求
Windows xp
3.部署步骤
(1)选择载Boost库Windows版安装包解压至硬盘任意目录(建议硬盘根目录)面用$BOOSTDIR表示boost存放目录
(2)解压文件夹找bootstrap.bat并运行bjam执行程序,运行即
(3)编译完bin.v2stage目录面包含*.lib库文件
(4)配置vs环境创建测试项目test工具栏项目->右键->test属性->配置属性->C/C++->规->附加包含目录添加$BOOSTDIR路径(C:\boost_1_54_0)链接器->规->附加库目录添加$BOOSTDIR\stage\libs(C:\boost_1_54_0\stage\lib\*.lib)应用并确定boost库win32环境部署功
4.能遇问题
(1)LINK : fatal error LNK1104: cannot open file 'libboost_thread-vc100-mt-s-1_52.lib'
库文件看存libboost_thread-vc100-mt-1_52.lib两者差别呢
-s
ABI tag: encodes details that affect the library's interoperability with other compiled code. For each such feature, a single letter is added to the tag:
Key
Use this library when:
Boost.Build option
s linking statically to the C++ standard library and compiler runtime support libraries. runtime-link=static
g using debug versions of the standard and runtime support libraries. runtime-debugging=on
y using a special debug build of Python. python-debugging=on
d building a debug version of your code.7 variant=debug
p using the STLPort standard library rather than the default one supplied with your compiler. stdlib=stlport
For example, if you build a debug version of your code for use with debug versions of the static runtime library and the STLPort standard library in native iostreams mode, the tag would be:-sgdpn. If none of the above apply, the ABI tag is ommitted.
原-s 代表 runtime-link-static"我工程用种式使用boost库需要'libboost_thread-vc100-mt-s-1_52.lib'
解决案:
重新编译boost库用面编译命令:
b2 --build-type=complete msvc stage link=static
(2)Already defined in libcmt.lib
解决案参加篇文章
附:VS2011 静态链接 Boost 函数库配置:
打项目属性->配置属性->C/C++->代码选择运行库线程 (/MT)(选择线程 DLL (/MD)则态链接 Boost 库)
(3)想改变编译配置boost_1_54_0\tools\build\v2 user-config.jam文件bootstrap.batbjam实际都目录
如果学了boost库还需要学stl库,boost是基于STL的扩展.遵循STL的范.先学STL,再BOOST。boost库简介:Boost库是为C++语言标准库提供扩展的一些C++程序库的总称,由Boost社区组织开发、维护。
stl库简介:STL = Standard Template Library,标准模板库,惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。STL现在是C++的一部分,因此不用额外安装什么。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)