C++primer
C++程序设计原理与实践
C++编程思想(两卷合订本)
标准参考读物:
《C++程序设计语言(特别版)》
《C++标准程序库》
进阶读物:
《Effective C++中文版》
《More Effective C++中文版》
《Effective STL中文版 》
《Exceptional C++ Style中文版 》
《More Exceptional C++中文版 》
《C++沉思录》
《C++语言99个常见编程错误》
《C++编程规范 : 101条规则、准则与最佳实践》
深入专题:
《C++设计新思维》
《深度探索C++对象模型》
《C++ Templates中文版》
《C++语言的设计和演化》
《STL源码剖析》
《设计模式》
《C++模板元编程》
《Boost程序库完全开发指南 : 深入C++“准”标准库》
《Boost程序库探秘 : 深度解析C++准标准库》
其实到了深入专题的阶段,C++已经不再是一门编程语言了,而是一种哲学,帮助你窥探计算机程序设计中最深奥那些角落。
1.模块/工具简介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的扩充,它加入了的智能指针,图 *** 作等等很多的模块。2.这两个库都是在C++标准委员会的指导下制定的。STL包含了常用的算法和集合类型,并采用了泛型的思想来实现。boost是对STL的扩充,是一个功能更加强大,更实用的库。所以作为初学者,还是先掌握STL好,需要写应用性程序时,再研究boost库。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)