Windows 7 下编译boost库

吐槽:楼主出来工作快2年了,自我感觉在公司还不错,得到领导的认可,但是由于一些原因前段时间准备换工作,面试的时候被面试官问的无地自容。哎。深感自责,于是呼决定发奋图强,不苟安于现状,希望后面能够再接再厉更上一层楼。

 

买了一本书,boost开发指南,希望能够从中汲取到营养,也和大家分享。共同进步。

 

话不多说,先从安装和编译开始。苦逼楼主是用的操作系统是win7。当然比不上平时自己在家都使用某命令行的高大上了。

 

后面的分享都是在win7的系统上进行操作的。

 

1、先下载boost库,苦逼楼主下载的是最新版,程序猿也追求时尚啊boost_1_55_0

http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.zip/download?use_mirror=ncu

2、解压,楼主是把解压后的目录放到d盘的。D:\boost_1_55_0

 

3、进入D:\boost_1_55_0,找到bootstrap.bat,执行得到bjam.exe

 

4、到这一步都没问题的话,那就恭喜你进入后面的编译。苦逼楼主使用的是vs2010因此:

toolset=msvc-10.0,后面的版本根据vs的版本来填值得,具体对应参看下面:

 vs2003 : msvc-7.1

 vs2005 : msvc-8.0

 vs2008 : msvc-9.0

 vs2010 : msvc-10.0

build-type选项指定编译类型,

layout选项指定需要编译的库名及头文件的地址目录名的生成策略。默认Windows下为versioned

下面是楼主编译时的编译指令:

 bjam stage --toolset=msvc-10.0--build-type=complete --layout=versioned

 

5、编译过程中可能会产生一些警告,这个可以不管。当然你要是追求完美的话,非看他不顺眼的话也可以去掉,去掉的方法如下:

 

修改D:\boost\boost_1_55_0\tools\build\v2\user-config.jam,在

#-------------------

# MSVCconfiguration.

#-------------------

 

# Configure msvc(default version, searched for in standard locations and PATH).

# using msvc ;

 

 

# Configure specificmsvc version (searched for in standard locations and PATH).

# using msvc : 8.0 ;

下方添加:

using msvc : 8.0 : :<compileflags>/wd4819 <compileflags>/D_CRT_SECURE_NO_DEPRECATE<compileflags>/D_SCL_SECURE_NO_DEPRECATE<compileflags>/D_SECURE_SCL=0 ;

 

 

注意:如果是VS2008或VS2010则,分别要对应修改成:

using msvc : 9.0 : :<compileflags>/wd4819 <compileflags>/D_CRT_SECURE_NO_DEPRECATE<compileflags>/D_SCL_SECURE_NO_DEPRECATE<compileflags>/D_SECURE_SCL=0 ;

 

 

using msvc : 10.0 :: <compileflags>/wd4819 <compileflags>/D_CRT_SECURE_NO_DEPRECATE<compileflags>/D_SCL_SECURE_NO_DEPRECATE<compileflags>/D_SECURE_SCL=0 ;

 

 

其中,/wd 是Visual C++编译器选项,用于指定编译器如何为给定编译生成警告。

/wd n表示禁用指定的编译器警告,其中 n 是编译器警告编号。例如,/wd4819 禁用编译器警告 C4819。

在系统中编译 ANSI源文件时,如果有一个代码页不能表示该文件中的所有字符,则会出现 C4819 警告。

/D(预处理器定义)用于定义源文件的预处理符号。_CRT_SECURE_NO_DEPRECATE、_SCL_SECURE_NO_DEPRECATE、_SECURE_SCL等预处理宏定义分别能屏蔽一部分warning警告信息,详细参见MSDN。

因此,上述添加内容中只是添加了几个编译选项,用于屏蔽一些非必要警告信息。

6、编译是一个漫长的等待过程,这时候你可以去泡泡茶、喝杯咖啡了……

      …….一只乌鸦悄悄地飞过…..拉了一泡屎…...落在了浅尝者的头上…...

7、到这一步,说明你已经编译完成了,打开你的vs吧,然后新建一个工程,那就是helloword,楼主的是vs2010,然后再工程属性中添加boost的头文件目录和lib库,我的是这样设置的:

8、编写第一个boost代码程序

 

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

void Hello()
{
	cout<<"hello"<<endl;
	return ;
}

int main()
{
	thread thd(&Hello);
	thd.join();
	getchar();
	return 0;
}


编译运行:

 

 

如图所示,这说明你的boost‘已经正确安装和编译了,下面我们将继续讨论boost组件的应用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值