1.1.3 使用Boost
Boost库大部分组件不需要编译,直接包含头文件即可。例如,如果要使用boost::tribool,只需要在C++(www.cppentry.com)源文件中添加如下include语句即可(当然,接下来的代码可能还需要using namespace boost;):
- #include <boost/logic/tribool.hpp> //使用tribool库
细心的读者会发现,Boost库的头文件与我们平常所用的头文件(*.h)或C++(www.cppentry.com)标准库头文件(没有后缀名)不同,这正是Boost的独特之处。它把C++(www.cppentry.com)类的声明和实现都放在了一个文件中,而不是分成两个文件,也就是".h+.cpp",故文件的后缀是.hpp。
剩下的共21个库(包括date_time、regex、program_options、test、thread、python等)必须编译成静态库或者动态库后才能使用。不过有个好消息,其中有的库不需要编译也可以使用部分功能,而更好的消息是有的库已经有了不需要编译的替代品(xpressive可替代regex、signals2可替代signals)。
在Windows下的VC编译器支持自动链接技术,VC程序员可以不必为链接静态库或动态库、调试库或发行库等问题而费心了。其他编译器就没有这样幸运,必须在命令行或者Makefile里手工指定链接库。当然,我们也可以采用1.4.3节的unity build方式。