网站地图    收藏   

主页 > 后端 > 网站安全 >

Windows下编译boost程序库 - Windows操作系统 - 自学

来源:自学PHP网    时间:2015-04-17 18:33 作者: 阅读:

[导读] Boost库是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库要使用Boost库,首先确认一下你使用的开发环境是否支持编译boost库(http://www.boost.org/users/history/version_1_46_1.html...

 

Boost库是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库

要使用Boost库,首先确认一下你使用的开发环境是否支持编译boost库(http://www.boost.org/users/history/version_1_46_1.html)

以windows的msvc编译器为例,支持编译boost库是Visual C++: 7.1, 8.0, 9.0 10.0

如果你还在用VC++ 6.0的话,只能抱歉了。VC6编译器由于不支持模板偏特化等许多新特性,所以有的Boost库会缺少功能甚至不能使用。

安装Boost库的方法:

1、从Boost网站(www.boost.org)下载压缩包,解压到本地硬盘任意位置。

本文以boost_1_46_1版本为例,解压位置为D:\boost_1_16_1\

2、进入目录D:\boost_1_16_1\,运行bootstrap.bat,获得bjam.exe 程序

3、命令行方式执行:bjam stage --toolset=msvc-7.1 --build-type=complete --layout=versioned

其中,

stage 选项指定boost使用本地构建,当前目录下会创建一个stage目录,编译后的lib库会在其中。

toolset 选项指定编译器,对于使用visual studio 开发工具的程序员来说,需要正确填写msvc的版本号:

    vs2003 : msvc-7.1

    vs2005 : msvc-8.0

    vs2008 : msvc-9.0

    vs2010 : msvc-10.0

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

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

 

接下来你可以关上显示屏去做别的事了,因为Boost库的完整编译会耗费大量的时间(本人在pc上花了约1个小时时间)。

完整编译后,需要在visual studio IDE 中设置包含目录和库目录。

 

Windows Visual Studio 200x IDE 通用配置

=======================================

在菜单中选择:

1. Tools (工具)

2. Options (选项)

3. Project and Solutions (项目)

4. VC++ Directories (VC++ 目录)

5. Show directories for (显示以下内容的目录): Include Files (包含文件) 增加D:\boost_1_46_1

6. Show directories for (显示以下内容的目录): Library Files (库文件) 增加D:\boost_1_46_1\stage\lib

 

如果是Visual Studio 2010,不再是从tools->options->project and solutions->VC++ directories 中配置库目录和包含目录,而是对自己的项目单独配置。

先添加/导入自己的项目,在窗体左侧项目的属性管理器中

1.单击第一个按钮(属性),弹出项目属性页

2.选择配置属性->VC++目录

3.包含目录中增加D:\boost_1_46_1

4.库目录中增加D:\boost_1_46_1\stage\lib

 

OK,一切准备就绪。可以开始使用Boost库了。下面的一个小程序可以测试一下boost库是否安装正确。

#include <boost/thread/thread.hpp>

#include <iostream>

void hello() {

    std::cout << "Hello world, I'm a thread!" << std::endl;

}

int main(int argc, char* argv[]) {

    boost::thread thrd(&hello);

    thrd.join();

    return 0;

}

正确安装的话,会在控制台输出一行"Hello world, I'm a thread!"的信息。

 

 

完整编译Boost库费时费力,而且也不一定在开发中都用到,所以也可以自行选择要编译的库。

只要在运行bjam的命令中,添加--with-<库名> 选项就可以了,或--without-<库名>关闭某个库的编译。

bjam还有许多选项,可参考bjam的文档以获得更多信息。

 

本文出自 “猫王的博客” 博客

 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论