Boost137在vs2005下编译使用
如果在Windows下开启console窗口(单击“开始”按钮,单击“运行”,敲入“cmd”),必须将/Microsoft Visual Studio 8/VC下的vcvarsall.bat配置脚本运行一遍,以设置好VC的编译器环境变量。
如果从vs2005的工具菜单进入命令提示窗口(单击“开始”按钮,指向“所有程序”,指向“Microsoft Visual Studio 2005”,指向“Visual Studio 工具”,然后单击“Visual Studio 2005 命令提示”),则不需要运行Visual Studio中C++目录下的环境vcvarsall.bat配置脚本。
在命令行窗口:
1)进入/boost_1_37_0/tools/jam,运行build_dist.bat,会在/boost_1_37_0/tools/jam/stage/bin.ntx86下生成bjam.exe,将bjam.exe复制到/boost_1_37_0下。
2)修改/boost_1_37_0/tools/build/v2/user-config.jam,将MSVC configuration 字段做如下改动:
# Configure msvc (default version, searched for in standard locations and PATH).
# using msvc ;
using msvc : 8.0 : : <compileflags>/wd4819 <compileflags>/D_CRT_SECURE_NO_DEPRECATE <compileflags>/D_SCL_SECURE_NO_DEPRECATE <compileflags>/D_SECURE_SCL=0 ;
using python : 2.6 ;
3)如果已经安装过ICU库(支持unicode的字符集,regex需要使用),则运行:
bjam -sICU_PATH=d:/ICU --without-python --toolset=msvc-8.0 --build-type=complete stage
4)如果没有安装ICU库,则运行:
bjam --without-python --toolset=msvc-8.0 --build-type=complete stage
5)经过几个小时的编译,在/boost_1_37_0/stage/lib下生成了所有需要的静态和动态链接库,将此路径设置为vc库文件路径,将/boost_1_37_0/设置为vc包含文件路径。即可运行boost程序。
其中:
“动态链接库”,扩展名以.dll结束
“导入库”,扩展名以.lib结束,且文件名以版本号1_37结束
“静态链接库”,以扩展名.lib结束。
然后三种形式再次区分为“发行版”和“调试版”,后者的文件名比前者多出一个“-d-”修饰。另外我们还可以看到所有库文件名中都带有“-mt-”字样,这是表示这些库都支持“多线程/Multithreads”。
补充:
6)bjam一些参数的含义:
将stage改为install则表示直接安装,而不会在stage下生成lib和dll文件。
--without-python 表示不编译python库。
--with-thread表示只编译thread库。
--toolset : 所使用compiler,Visual Studio 2005 为 msvc-8.0,--toolset=gcc表示gcc编译。
--build-type:编译类型,complete表示生成所有的版本(也可以替换成参数:debug,release等)。
--prefix:指定编译后library的的目录。
7)CD至/boost_1_37_0/目录下,运行bjam --show-libraries,正常情况下输出以下内容:
The following libraries require building:
- date_time
- filesystem
- function_types
- graph
- iostreams
- math
- mpi
- program
_options
- python
- regex
- serialization
- signals
- system
- test
- thread
- wave
这里列出的是所有需要编译的boost模块,但我们将放弃对以下模块的编译: wave、mpi、 python、math、graph。这些模块的具体含义,大家如有需要,请自行查明。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fangqu/archive/2008/12/25/3604686.aspx