VS2010编译Boost 1.57 静态链接库
http://www.cnblogs.com/cuish/p/4175491.html
0、前提
Boost库版本 1.57.0
下载地址
http://www.boost.org/users/history/version_1_57_0.html,选择windows版
编译器:VS2010
编译目标:静态链接库
C/C++运行库链接方式: /MT /MTd /MD /MDd
官网给出的windows平台编译器测试包括
Windows:
GCC, mingw: 4.4.0, 4.4.7. 4.5.4, 4.6.3, 4.7.2, 4.7.3, 4.8.0, 4.8.2, 4.9.0
编译步骤
1、通过VS2010命令提示符工具进入Boost库根目录
比如:H:\Boost\boost_1_57_0
2、运行根目录下批处理文件
bootstrap.bat
3、执行bootstrap.bat后生成4个文件
b2.exe bjam.exe bootstrap.log project-config.jam

4、用 bjam.exe 来编译boost库
关于 bjam.exe编译Boost库的命令行参数的详细参数可以看 这个链接
bjam参数简介
link参数
表示生成静态链接库 或 生成动态链接库, link=static表示生成静态链接库, link=shared表示生成动态链接库。
runtime-link参数
表示使用C/C++运行库的方式,runtime-link=static表示静态链接C/C++运行库,runtime-link=shared标识动态链接C/C++运行库。
--toolset参数
表示编译boost库的工具集, --toolset=msvc-10.0标识使用VS2010编译,VS版本和工具集版本的对应关系如下:
msvc-6.0 : VC6.0
msvc-7.0: VS2003
msvc-8.0: VS2005
msvc-9.0: VS2008
msvc-10.0: VS2010
threading参数
表示使用多线程库还是单线程库, single表示单线程, multi表示多线程
debug release标识生成debug或release版本
stage参数
表示只生成dll 或 lib,而不生成包含include目录的头文件目录, 如果要生成包含头文件的include目录,需要使用install参数
--stagedir参数
表示生成目录的存放目录
在本文中编译了boost中为每个库编译了4中C/C++链接方式的静态链接库
① /MT /MTd
bjam stage --toolset=msvc-10.0 --build-type=complete --stagedir="H:\Boost\boost_1_57_0\bin\vc10" link=static runtime-link=static threading=multi debug release
生成的库名字格式
/MT: libboost_atomic-vc100-mt-s-1_57.lib /MTd: libboost_atomic-vc100-mt-sgd-1_57.lib
② /MD /MDd
bjam stage --toolset=msvc-10.0 --build-type=complete --stagedir="H:\Boost\boost_1_57_0\bin\vc10" link=static runtime-link=shared threading=multi debug release
生成的库文件名字格式
/MD: libboost_atomic-vc100-mt-1_57.lib /MDd: libboost_atomic-vc100-mt-gd-1_57.lib
5、编译完成
每类/MT /MTd /MD /MDd的静态库各有34个lib。
编译完成后,删除boost目录的bin.v2临时目录。
6、在VS中使用boost库
项目属性--VC++目录--包含目录,设置为boost根目录

项目属性--VC++目录--库目录,设置lib文件目录

7、参考文献
编译Boost 详细步骤 适用 VC6 VS2003 VS2005 VS2008 VS2010
VS2010编译Boost 1.57 静态链接库的更多相关文章
- [转载]GCC 编译使用动态链接库和静态链接库--及先后顺序----及环境变量设置总结
来自http://blog.csdn.net/benpaobagzb/article/details/51364005 GCC 编译使用动态链接库和静态链接库 1 库的分类 根据链接时期的不同,库又有 ...
- GCC 编译使用动态链接库和静态链接库
1 库的分类 根据链接时期的不同,库又有静态库和动态库之分. 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行. 有 ...
- GCC 编译使用动态链接库和静态链接库的方法
1 库的分类 依据链接时期的不同,库又有静态库和动态库之分. 静态库是在链接阶段被链接的.所以生成的可执行文件就不受库的影响了.即使库被删除了,程序依旧能够成功执行. 有别于静态库,动态库的链接是在程 ...
- 【转】gcc 编译使用动态链接库和静态链接库
1 库的分类 根据链接时期的不同,库又有静态库和动态库之分. 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行. 有 ...
- Linux GCC编译使用动态、静态链接库 (转)
原文出处:http://blog.csdn.net/a600423444/article/details/7206015 在windows下动态链接库是以.dll后缀的文件,二在Linux中,是以.s ...
- C/C++ 静态链接库(.a) 与 动态链接库(.so)
平时我们写程序都必须 include 很多头文件,因为可以避免重复造轮子,软件大厦可不是单靠一个人就能完成的.但是你是否知道引用的那些头文件中的函数是怎么被执行的呢?这就要牵扯到链接库了! 库有两种, ...
- dll和lib(包括静态链接库和与dll同时生成的lib)
转:http://blog.csdn.net/galaxy_li/article/details/7411956 1:神马是Dll和Lib,神马是静态链接和动态链接 大家都懂的,DLL就是动态链接库, ...
- [拾零]C/C++_代码复用的实现_静态链接库_动态链接库_使用.def导出
1 静态链接库 1.1 创建静态链接库: 1.在VC6中创建项目:Win32 Static Library 2.在项目中创建两个文件:xxx.h 和 xxx.cpp 3.编译 1.2 使用静态链接库 ...
- VS2010编译Qt5.4.0静态库
http://www.kavenblog.com/?p=375 1.Qt的跨平台十分优秀,但是在Windows上是还是会有许多问题,其中之一就是动态链接库的问题,Qt程序的发布必须带一个体积不小的DL ...
随机推荐
- 使用Jmeter进行HTTP接口测试
这几天学习了一下使用Jmeter进行HTTP接口测试,这个也是后面进行性能测试的基础吧 安装运行请自行搜索,下载地址:http://jmeter.apache.org/download_jmeter. ...
- js中this的使用
this是Javascript语言的一个关键字. 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用.比如, function test(){ this.x = 1; } 随着函数使用场合的 ...
- JAVA语法02之课程问题解决
(一)示例程序+运行结果: ①EnumTest.java public class EnumTest { public static void main(String[] args) { Size s ...
- android studio异常关机后出现的问题
使用android studio 时突然卡死. 重启后所有项目都打不开,提示workspace.xml Error:content is not allowed in prolog 打开work ...
- 大家把做的公祭日的ps上传哦
上传时图片保存为JPG,写上自己的学号,说说自己的创作构思
- 机器学习实战knn
最近在学习这本书,按照书上的实例编写了knn.py的文件,使用canopy进行编辑,用shell交互时发现运行时报错: >>> kNN.classify0([0,0],group,l ...
- SQL中的OpenXML使用
DECLARE @idoc int ) SET @doc =' <ROOT> <Customer CustomerID="VINET" ContactName=& ...
- dstoon系统中学习
$r = $db->get_one("SELECT * FROM {$DT_PRE}company WHERE username='$pay_user'");注意:usern ...
- canvas学习笔记:canvas对图片的像素级处理--ImageData的应用
学习了canvas的基本绘图功能后,惊喜的发现canvas对图片数据也有相当强大的处理功能,能够从像素级别操作位图,当然[lte ie8]不支持. 主要的函数有三个: ctx.createImageD ...
- 基于KEIL4开发ARM9(S3C2440)的裸机程序
本文主要介绍如何使用Keil4开发ARM9(S3C2440)裸机程序. 说明: 一.平台: 操作系统:Windows XP系统 KEIL版本:4.73 开发板:ARM9(S3C2440) 二.建立工程 ...