码迷,mamicode.com
首页 > 其他好文 > 详细

boost vc编译

时间:2015-09-29 22:02:29      阅读:345      评论:0      收藏:0      [点我收藏+]

标签:

0.下载:http://www.boost.org/

 

1.编译b2.exe,bjam.exe.

双击根目录下面的bootstrap.bat文件,生成b2.exe,bjam.exe

如果编译64位需要vs的cmd窗口,如VS2013 x64 Native Tools Command Prompt进入到boost根目录下面运行bootstrap,编译b2.exe,biam.exe.

 

2.用b2.exe生成64位的lib

b2 stage --toolset=msvc-12.0 architecture=x86 address-model=64 --stagedir=".\lib\vc12_x64" link=static runtime-link=static threading=multi debug release

 

3.用b2.exe生成32位的lib

b2 stage --toolset=msvc-12.0 architecture=x86 --stagedir=".\lib\vc12_x86" link=static runtime-link=static threading=multi debug release

 

4.解释编译命令

link=static/shared,静态或者动态编译boost

runtime-link=static/shared,boost是否需要依赖vc运行库,如果你要自带vc运行库可用shared

threading=multi/single,是否支持多线程

红色为默认选项,如果不指定编译命令的情况下

在一个vs版本的的情况下可以直接b2 --toolset=msvc,多个的话需要指定vs版本号b2 --toolset=msvc-12.0

 

5.生成的文件名

libboost_log-vc120-mt-sgd-1_59.lib,其中mt表示多线程,sgd中的s表示runtime 是static,gd表示debug版本。

 

6.将生成的lib和头文件加到vc目录下面

D:\boost_1_59_0加入到include下面中

将需要lib,比如boost_1_59_0\lib\vc12_x64\lib加到lib目录下面

 

7.可删除临时文件目录bin.v2

 

8.测试下

#include <boost/timer.hpp>
#include <iostream>
using namespace std;
using namespace boost;

int _tmain(int argc, _TCHAR* argv[])
{
         timer t;
         cout<<"max timespan:"<<t.elapsed_max() /3600<<"h"<<endl;
         cout<<"min timespan:"<<t.elapsed_min()<<"s"<<endl;
         return 0;
}

 

9.参考

http://www.cnblogs.com/zhcncn/p/3950477.html

boost vc编译

标签:

原文地址:http://www.cnblogs.com/ultracpp/p/4847233.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!