windows下关于boost 64位和32位库的编译详细介绍


本文摘自PHP中文网,作者黄舟,侵删。

常用编译命令:

1

cd E:\OpenSource\boost_1_63_0\boost_1_63_0

编译32位库:

x86环境下编译得先从开始菜单启动Visual Studio的Visual Studio 2008 Command Prompt进入命令提示符

运行bootstrap.bat生成x86版的bjam.exe

1

bjam toolset=msvc-9.0 threading=multi link=static runtime-link=static --with-regex

编译64位库:

x64环境下编译得先从开始菜单启动Visual Studio的Visual Studio 2008 x64 Win64 Command Prompt进入命令提示符

运行bootstrap.bat生成x64版的bjam.exe

1

bjam toolset=msvc-9.0 threading=multi link=static runtime-link=static --with-regex address-model=64

其中,--prefix设置boost安装目录;

stage表示只生成库文件(dll与lib文件);

toolset指定编译器,vs2010就是msvc-10.0,vs2005/vs2008分别是msvc-8.0与msvc-9.0;

variant决定编译什么版本debug、release;

link决定使用静态库还是动态库,shared是动态库,static是静态库;

address-model决定地址长度,即32还是64位程序;

threading决定使用单线程(single)还是多线程(multi)库;

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

-s ICU_PATH设置icu4c的路径;

install会生成包含头文件的include目录。

理论上,本文适用于boost的各个版本,尤其是最新版本1.48.0;适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,VS2010,V2012,gcc,arm-linux-gcc,C++ Builder等。

先总结一下Windows系统。

一、下载

首先从boost官方主页最新版boost安装包,或者使用Subversion获取最新版本,地址是:http://svn.boost.org/svn/boost/trunk。本人现在一般都用svn,这样可以很方便的进行update和build,而不是每次都下载新的安装包并rebuild。

二、安装

如果是使用下载的安装包,那么请将boost安装包解压至本地目录,如:E:\SDK\boost;如果是用svn的,也可以将boost的代码checkout到这个目录。因为boost一部分类是需要编译成库才能使用的,所以我们还需要准备好boost专用的编译辅助工具bjam。在命令提示符(cmd.exe)中执行根目录下的bootstrap.bat,编译后的bjam.exe会自动拷贝到该目录下(bjam必须与boost-build.jam在同级目录)。

三、编译

接下来就是最重要的编译步骤了。需要打开命令提示符(cmd.exe)窗口并执行bjam,可以使用--help参数来查看命令帮助。这里详细讲解一下bjam的命令行参数,因为它非常重要。首先,它涉及到编程环境的搭建,你需要根据自己今后具体的使用环境来选择合适的命令行参数;其次,它影响到你的硬盘空间,完全编译的话据说在3G以上。

使用的bjam命令如下:

1

2

3

bjam stage --toolset=msvc-9.0 --without-graph

 --without-graph_parallel --without-math --without-mpi --without-python --without-serialization --without-wave --stagedir="E:\SDK\boost\bin\vc9"

link=static runtime-link=shared runtime-link=static threading=multi debug release

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

阅读剩余部分

相关阅读 >>

Windows系统不能退出屏保怎么办

Windows电脑开机后只显示桌面背景

Windows怎么卸载软件?

桌面文件在c盘哪个文件夹

Windows磁盘分区方法是什么

耳机控的程序员最烦这种声音,你中招了没有

做完系统鼠标键盘不能用

以下关于Windows快捷方式的说法正确的是什么

解决Windows update报错的问题

如何通过Windows定时任务删除文件

更多相关阅读请进入《Windows》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...