win64系统下vs2008安装boost_1_51_0
2013-06-26 10:00
190 查看
安装boost_1_51_0的官方文档详见链接:boost源码根目录下的index.html ,往下找可以找到 :file:///D:/boost/more/getting_started/windows.html
使用boostpro直接安装
这个比较简单 ,直接下一步 ……就ok了 。
boost源码安装
首先查看boost源码根目录下的index.html文件 ,然后根据文件中指出的 “Getting
Started Guide "连接到的页面 ,根据下面的文档进行编译。
完全编译的话可以通过以下方式:
1)cd 到你的boost源码所在的目录。
2)在命令行中运行命令bootstrap ,会生成boost.build
3)运行命令 .\b2
这种方式是全部安装,且不能很好的区分生成的lib是64位还是32位的。所以可以采用下面这种方式编译单个库或者全部库文件,并且能够把库放到你指定的目录中去。
单个库安装并指定具体路径
1)进入到boost源文件的根目录下 ,通过vs008的“Visual Studio Command Prompt (2008)”(编译32位)、“Visual Studio X64 Win64 Command Prompt (2008)”(编译64位)菜单项进入vs2008命令行,并进入解压后的boost_1_51_0目录;
在命令行中运行bootstrap命令 。(执行一次即可)
如果想编译单个库,那么首先需要知道哪些库时需要编译的 。
2)查看需要编译的库:
bjam --show-libraries
3)针对指定的库进行编译 :使用--with-<LIBRARIES> 如:thread库就使用 --with-thread ,如果想编译所有的库,那么就不需要指定参数--with-<LIBRARIES>,如果希望指定除了某库之外的都安装的话 ,使用参数 --without-<LIBRARIES>
在x64下编译release:
bjam --stagedir=./stage/x64libR stage toolset=msvc-9.0 variant=release link=shared address-model=64 threading=multi runtime-link=shared --with-thread
在x64下编译debug:
bjam --stagedir=./stage/x64libD stage toolset=msvc-9.0 variant=debug link=shared address-model=64 threading=multi runtime-link=shared --with-thread
在x86下编译release:
bjam --stagedir=./stage/win32libR stage toolset=msvc-9.0 variant=release link=shared address-model=32 threading=multi runtime-link=shared --with-thread
在x86下编译debug:
bjam --stagedir=./stage/win32libD stage toolset=msvc-9.0 variant=debug link=shared address-model=32 threading=multi runtime-link=shared --with-thread
其中编译参数信息 :
--stagedir设置lib库的目录;
stage表示只生成库文件(dll与lib文件);也选择install参数 。
install会生成包含头文件的include目录。
toolset指定编译器,vs2008就是msvc-9.0,vs2005/vs2010分别是msvc-8.0与msvc-10.0;
variant决定编译什么版本,debug或者release;
--build-type=complete 表示编译所有库支持的variant 。如 :variant=debug ,release;如果希望生成的debug和release版本 分开放在不同的文件夹 ,那么可以通过指定variant的方式一次只生成debug或者是release 。
address-model决定地址长度,即32还是64位程序;
threading决定使用单线程(single)还是多线程(multi)库;
-s ICU_PATH设置icu4c的路径;
link决定生成静态库还是动态库,shared是动态库,static是静态库;
runtime-link决定是静态(static)还是动态(shared)链接C/C++标准库;
【注意】:所有的参数与参数值之间用等号连接,且等号两端都没有空格。
通过命令 :
b2 --help 或者 bjam --help 可以寻求帮助 ,个人觉得这个是非常有用的 。
boost库命名规则 :
以 libboost_program_options-vc90-mt-s-1_51.lib 为例:
lib 前缀:除了Microsoft Windows之外,每一个Boost库的名字都以此字符串开始。在Windows上,只有普通的静态库使用lib前缀;导入库和DLL不使用。
boost_program_options库名称:所有boost库名文件以boost_开头。
-vc90 Toolset 标记:标识了构建该库所用的toolset和版本。
-mt Threading 标记:标识构建该库启用了多线程支持。不支持多线程的库没有-mt。
-s ABI标记:编码了影响库和其他编译代码交互的细节。对于每一种特性,向标记中添加一个字母:
-1_51 版本标记:完整的Boost发布号,下划线代替点。例如,1.51.0版本将被标记为“-1_51_0 ”。
.lib 扩展名:取决于操作系统。在大多数unix平台上,.a是静态库,.so是共享库。在Windows上,.dll表示共享库,.lib是静态或导入库。
如果是不完全编译boost库 ,在使用时经常会出现连接错误 ,提示无法打开或者找不到某库文件 ,那么我们可以从希望生成的库文件名来设定编译参数 ,从而编译出想要的库文件.
eg : 若希望生成如下名:libboost_regex-vc90-mt-sgd-1_51.lib的库 ,可以指定 link=static runtime-link=static ; 可以看出 ,lib*.lib是一个静态库 ,所以link=static ,又由于-s表示静态链接C/C++标准库,因此runtime-link=static
使用boostpro直接安装
这个比较简单 ,直接下一步 ……就ok了 。
boost源码安装
首先查看boost源码根目录下的index.html文件 ,然后根据文件中指出的 “Getting
Started Guide "连接到的页面 ,根据下面的文档进行编译。
完全编译的话可以通过以下方式:
1)cd 到你的boost源码所在的目录。
2)在命令行中运行命令bootstrap ,会生成boost.build
3)运行命令 .\b2
这种方式是全部安装,且不能很好的区分生成的lib是64位还是32位的。所以可以采用下面这种方式编译单个库或者全部库文件,并且能够把库放到你指定的目录中去。
单个库安装并指定具体路径
1)进入到boost源文件的根目录下 ,通过vs008的“Visual Studio Command Prompt (2008)”(编译32位)、“Visual Studio X64 Win64 Command Prompt (2008)”(编译64位)菜单项进入vs2008命令行,并进入解压后的boost_1_51_0目录;
在命令行中运行bootstrap命令 。(执行一次即可)
如果想编译单个库,那么首先需要知道哪些库时需要编译的 。
2)查看需要编译的库:
bjam --show-libraries
3)针对指定的库进行编译 :使用--with-<LIBRARIES> 如:thread库就使用 --with-thread ,如果想编译所有的库,那么就不需要指定参数--with-<LIBRARIES>,如果希望指定除了某库之外的都安装的话 ,使用参数 --without-<LIBRARIES>
在x64下编译release:
bjam --stagedir=./stage/x64libR stage toolset=msvc-9.0 variant=release link=shared address-model=64 threading=multi runtime-link=shared --with-thread
在x64下编译debug:
bjam --stagedir=./stage/x64libD stage toolset=msvc-9.0 variant=debug link=shared address-model=64 threading=multi runtime-link=shared --with-thread
在x86下编译release:
bjam --stagedir=./stage/win32libR stage toolset=msvc-9.0 variant=release link=shared address-model=32 threading=multi runtime-link=shared --with-thread
在x86下编译debug:
bjam --stagedir=./stage/win32libD stage toolset=msvc-9.0 variant=debug link=shared address-model=32 threading=multi runtime-link=shared --with-thread
其中编译参数信息 :
--stagedir设置lib库的目录;
stage表示只生成库文件(dll与lib文件);也选择install参数 。
install会生成包含头文件的include目录。
toolset指定编译器,vs2008就是msvc-9.0,vs2005/vs2010分别是msvc-8.0与msvc-10.0;
variant决定编译什么版本,debug或者release;
--build-type=complete 表示编译所有库支持的variant 。如 :variant=debug ,release;如果希望生成的debug和release版本 分开放在不同的文件夹 ,那么可以通过指定variant的方式一次只生成debug或者是release 。
address-model决定地址长度,即32还是64位程序;
threading决定使用单线程(single)还是多线程(multi)库;
-s ICU_PATH设置icu4c的路径;
link决定生成静态库还是动态库,shared是动态库,static是静态库;
runtime-link决定是静态(static)还是动态(shared)链接C/C++标准库;
【注意】:所有的参数与参数值之间用等号连接,且等号两端都没有空格。
在编译参数中,不允许出现这样子的组合 :link=shared runtime_link=static . link 和runtime-link的参数组合只能出现以下三种 : 1)link=static runtime-link=static 生成的文件名类似 :libboost_math_c99f-vc90-mt-sgd-1_51.lib(静态库) 2)link=static runtime-link=shared 生成的文件名类似 :libboost_math_c99f-vc90-mt-gd-1_51.lib(静态库) 3)link=shared runtime-link=shared生成的文件名类似 :boost_math_c99f-vc90-mt-gd-1_51.lib (导入库)和boost_math_c99f-vc90-mt-gd-1_51.dll(动态库) 若编译好的库在使用时提示连接错误 ,缺少什么类型的库文件,只需要去补充编译就好。 如果你希望同时静态库并同时静态和动态连接C/C++标准库,你可以使用如下 方式: link=static runtime-link=static,shared ;但是要注意,不能出现上述不允许出现的组合。 |
b2 --help 或者 bjam --help 可以寻求帮助 ,个人觉得这个是非常有用的 。
boost库命名规则 :
以 libboost_program_options-vc90-mt-s-1_51.lib 为例:
lib 前缀:除了Microsoft Windows之外,每一个Boost库的名字都以此字符串开始。在Windows上,只有普通的静态库使用lib前缀;导入库和DLL不使用。
boost_program_options库名称:所有boost库名文件以boost_开头。
-vc90 Toolset 标记:标识了构建该库所用的toolset和版本。
-mt Threading 标记:标识构建该库启用了多线程支持。不支持多线程的库没有-mt。
-s ABI标记:编码了影响库和其他编译代码交互的细节。对于每一种特性,向标记中添加一个字母:
Key | Use this library when: |
s | 静态链接到C++标准库和编译器运行时支撑库 |
g | 使用标准库和运行时支撑库的调试版本 |
y | 使用Python的特殊调试构建 |
d | 构建代码的调试版本 |
p | 使用STLPort标准库而不是编译器提供的默认库 |
n | 使用STLPort已被弃用的“native iostreams” |
.lib 扩展名:取决于操作系统。在大多数unix平台上,.a是静态库,.so是共享库。在Windows上,.dll表示共享库,.lib是静态或导入库。
如果是不完全编译boost库 ,在使用时经常会出现连接错误 ,提示无法打开或者找不到某库文件 ,那么我们可以从希望生成的库文件名来设定编译参数 ,从而编译出想要的库文件.
eg : 若希望生成如下名:libboost_regex-vc90-mt-sgd-1_51.lib的库 ,可以指定 link=static runtime-link=static ; 可以看出 ,lib*.lib是一个静态库 ,所以link=static ,又由于-s表示静态链接C/C++标准库,因此runtime-link=static
相关文章推荐
- boost安装以及连接VS2008的方法
- [转]Win7 系统安装VS2008没反应 点击安装一闪就没有反应 .
- win64 安装xgboost python
- VS2008-其他引导程序包(安装部署项目的系统必备)
- XP系统安装VS2008心得
- boost_1_51_0库的安装
- boost安装笔记——vs2008
- Boost库的安装 (boost_1_47_0 + VS2008)
- VS2008下安装和配置boost
- xgboost在ubuntu系统下的安装使用
- VS2008 安装 Boost 1.43.0
- Sep Linux编译安装boost1_51_0
- VS2008安装boost(手记)
- VS2008 安装 Boost 1.43.0
- Boost 1.46.1 - VS2008下直接安装使用 .(转)
- python3.6中安装xgboost 基于win7 64位系统
- [原]VS2008安装boost的lib库
- VS2008 安装 Boost 1.43.0
- Boost 1.46.1 - VS2008下直接安装使用
- XP SP2系统下安装VS2008失败的解决办法