Boost库的使用和编译

来源:互联网 发布:ubuntu 14.04 lnmp 编辑:程序博客网 时间:2024/05/21 18:42

1.boost库有些需要编译,绝大部分不需编译,直接包含源文件即可使用,需要编译的库包括:data_time,regex,program_options,test,thread,system,python等十五个

2.编译bjam:

   (1)进入boost目录(以boost_1_50_0为例),进入tools\jam\src

   (2)运行build.bat,编译bjam

   (3)编译完成后把bjam.exe拷贝到boost根目录下

3.修改boost配置

   进入tools\build\v2下的user-config.jam,去掉msvc前的#注释,启动msvc8.0 / msvc9.0 / msvc10.0

4.编译boost

   (1)编译的一些选项

        --toolset=msvc 指定编译器

        --build-dir=<builddir>  编译的临时文件会放在builddir里(编译完就可以把它删除了)
        --stagedir=<stagedir> 存放编译后库文件的路径,默认是stage

        --build-type=complete 编译所有版本,不然只会编译一小部分版本

        --variant=debug|release决定是Dbug还是Release

        --link=static|shared 决定是静态库还是动态库

        --threading=single|multi 决定使用单线程还是多线程库

        --runtime-link=static|shared决定是静态链接还是动态链接C/C++标准库

        --with-<library>指定编译的库,如输入--with-date-time就只编译date-time库

   (2)命名规则 

        link= static : 静态库。 生成的库文件名称以 “lib”开头
        link= shared : 动态库。

        threading= mult : 支持多线程。 生成的库文件名称中包含 “-mt”

        variant=release  
        variant= debug  生成的库文件名称包含 “-gd”

        runtime-link= static  生成的库文件名称包含 “-s”
        runtime-link= shared  生成的库文件名称不包含 “-s”

   (3)例如:bjam --toolset=msvc --build-type=complete  --variant=debug  --with-system

       


        链接:http://www.boost.org