您的位置:首页 > 其它

windows7下编译boost1.46.1库,生成32位库文件

2017-07-13 08:49 281 查看

windows7下编译boost1.46.1库,生成32位库文件

前提已经下载boost1.46.1库,并且已经安装VS2010。

1. 从网上下载boost-1.46.1库,并解压出来,查看文件夹中会有一个文件名为:bootstrap.bat。

2. 使用VS2010自带的命令行工具,如果要编译成32位,那么就使用x86对应的命令提示符,如果要编译64位,就使用x64命令提示符。

3. 打开该命令提示符后,进入我们已经解压好的boost1.46.1库目录下,

输入执行:bootstrap.bat

执行完该句之后该,就会直接生成一个名为bjam.exe的文件。后面的命令就是针对bjam.exe执行。

4. 在命令提示符里面输入如下命令:

bjam stage --toolset=msvc-10.0 --without-graph --without-graph_parallel --stagedir="E:\boost\boost_1_46_1\bin\release" link=static runtime-link=shared runtime-link=static threading=multi release 

注意:该命令,不需要一些其他的依赖文件,比如:1. Regex所需Unicode支持类库 -- ICU 。 2. Graph所需的XML处理类库 --Expat。3. MPI所需MPI类库。

下面详细解释一下每个参数的含义:

stage/install:stage 表示只生成库(dll和lib),install还会生成包含头文件的include目录。推荐使用stage,因为install生成的这个include目录实际就是boost安装包解压缩后的boost目录,所以可以直接使用,而且不同的IDE都可以使用同一套头文件,这样既节省编译时间,也节省硬盘空间。

toolset:指定编译器,可选的如borland、gcc、msvc(VC6)、msvc-10.0(VS20010)等。

without/with:选择不编译/编译哪些库,不需要的可以without掉。这可以根据各人需要选择,默认是全部编译。但是需要注意,如果选择编译python的话,是需要python语言支持的,要先下载python。

stagedir/prefix:stage 时使用stagedir,install时使用prefix,表示编译生成文件的路径。(说明:使用install时,include文件目录结构是这样的E:\boost\boost_1_46_1\include\boost_1_46_1\boost,路径很累赘,可以去掉中间一层\boost_1_46_1。不管怎样,个人觉得还是使用stage好,一方面是快,另一方面也没这么纠结的目录)

build-dir:编译生成的中间文件的路径。这个本人这里没用到,默认就在根目录下,目录名为bin.v2,等编译完成后可将这个目录全部删除(没用了),所以不需要去设置。

link:生成动态链接库/静态链接库。生成动态链接库需使用shared方式,生成静态链接库需使用static方式。一般boost库可能都是以static方式编译,因为最终发布程序带着boost的dll感觉会比较累赘。

runtime-link:动态/静态链接C/C++运行时库。同样有shared和static两种方式,这样runtime-link和link一共可以产生4种组合方式,各人可以根据自己的需要选择编译。一般link只选static的话,只需要编译2种组合即可,即link=static runtime-link=shared和link=static runtime-link=static。

threading:单/多线程编译。一般都写多线程程序,当然要指定multi方式了;如果需要编写单线程程序,那么还需要编译单线程库,可以使用single方式。

debug/release:编译debug/release版本。一般都是程序的debug版本对应库的debug版本,所以两个都编译。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐