在Windows平台VS2013环境下编译Boost库
来源:互联网 发布:微信红包的随机算法 编辑:程序博客网 时间:2024/05/17 04:42
Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。
Boost库由C++标准委员会库工作组成员发起,在C++社区中影响甚大,其成员已近2000人。
Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。
(以上文字摘自【开源中国】)
本文记录(介绍)Boost库的编译过程。
操作系统为64位版本Windows8.1 ,编译环境为Visual Studio 2013 (msvc12.0)
一、准备
下载boost代码(此文首次编辑时,Boost的最新版本为1.57.0)
需要下载请访问官网http://www.boost.org/
或者SourceForge页面https://sourceforge.net/projects/boost/
我下载的是boost_1_57_0.zip
下载完之后解压(可以按照个人喜好设置解压路径)
请保证目标位置所在磁盘有足够空间,因为编译后产生了大量的中间文件,最后将占用近2G的空间
二、开始编译
1、生成bjam.exe程序
切换到解压目录,找到bootstrap.bat,(双击)运行,不出意外就会生成bjam.exe(和其他文件)
保险起见,我在bootstrap.bat的内容末尾添加了一行暂停语句
也可以在控制台(命令行)窗口(Win+R调出cmd窗口)中执行,把bat文件拖拽到cmd窗口就可以了
2、设置编译参数
我个人偏好自己写一个bat文件(而不是在cmd窗口输入命令),内容如下
(原本所有命令都在一行,为了方便阅读才拆分为多行显示)
@echo build boost librarybjam --toolset=msvc-12.0 --prefix=D:\Develop\Boost --build-type=complete link=shared variant=release threading=multi runtime-link=shared install@pause
其中各词语的含义如下
bjam 是主程序(bjam.exe)--toolset=msvc-12.0 表示编译工具集是MSVC12.0 (即VS2013)
--prefix=D:\Develop\Boost 表示编译后的安装目录
--build-type=complete 表示尝试完整编译(可以选择只编译其中的一些组件或者忽略某些组件)
link=shared 表示动态链接(使用动态链接库)
variant=release 表示以Release模式编译
thread=multi 表示编译为多线程
runtime-link=shared 表示生成动态链接库(dll)
install 表示安装(类似于CMake的install,就是将对应include、lib、bin等文件拷贝到安装目录)
更多的参数及其设置可以参考相关资料(网络上的相关资料很丰富,找到适合的参考一下就行了)
3、编译
执行以上命令(在CMD窗口输入或者编写bat文件双击运行),我设置的是完全编译,耗时约10分钟
在安装目录下有include和lib两个文件夹
在include目录下有几个层次文件夹,我把底层文件夹下的所有文件剪切到include\boost目录下,感觉更“整洁”
注意,必须是\include\boost\双层结构,而不是\include\单层结构,否则无法正常使用
下图是我的boost文件夹下内容布局
然后将lib文件夹下的dll文件剪切出来粘贴到新建的bin目录,余下的lib文件保留
我的lib文件夹如下(左) bin文件夹如下(右)
三、配置编译环境参数
这一步和其他库的配置方法基本上是一样的,无外乎设置include目录、lib目录和bin目录等,此处不再赘述。
四、使用示例
测试程序的源代码
#include <iostream>#include <boost/array.hpp>using namespace std;using namespace boost;void test_array(){cout << "array test" << endl;array<int, 10> ia = { 1, 2, 3, 4, 5 };for (size_t i = 0; i<ia.size(); ++i){cout << ia[i] << " ";}cout << endl;}int main(void){test_array();system("pause");return 0;}
运行结果
本文原创,博文原始地址
http://blog.csdn.net/fengyhack/article/details/41867193
- 在Windows平台VS2013环境下编译Boost库
- 在windows下编译boost 1.32库
- Windows平台下OpenCV3源码编译(VS2013)
- 在Windows下编译Boost
- VS2013环境下Boost库配置
- VS2013环境下Boost库配置
- vs2013编译boost库
- vs2013编译boost库
- FontConfig在windows和VS2013下编译
- Pixman在windows+vs2013下编译
- Pango在windows+vs2013下编译
- “Windows下编译boost程序库”和“使用boost库的编译环境的设置”
- Windows下boost安装及其在VS2013中配置
- Windows下boost安装及其在VS2013中配置
- Windows下boost安装及其在VS2013中配置
- windows下编译boost库
- WINDOWS下BOOST库编译
- Boost库在CodeBlocks环境下的编译
- 字符串长度
- 查看内核缓存TCP/UDP数据占用的内存大小
- 鼠标点击后会消失的牌组
- 单独编译使用WebRTC的音频处理模块 - android
- 第十六周项目3用函数指针调用函数
- 在Windows平台VS2013环境下编译Boost库
- ie低版本情况下不能正确的设置iframe高度
- ios8 系统定位问题
- 第十六周OJ项目4指针引出奇数因子
- python 文档资源 dir __doc__
- 16周,项目一,冒泡排序,指针版
- JQuery 判断浏览器及其版本
- 黑马程序员------java基础知识、集合
- Java多线程(一)进程和线程的基础知识