首页 > 其他 > 详细

Boost-Visual studio 2015环境配置

时间:2015-10-14 23:46:41      阅读:810      评论:0      收藏:0      [点我收藏+]

下载


 

官方网站:http://www.boost.org/

首页里很容易找到最新版本下载链接

Windows平台选择.zip或者.7z

 

目录结构


 

解压后主要目录结构如下

boost_1_59_0\ .................boost根目录

   index.htm .........相当于www.boost.org的首页

   boost\ .........................Boost 头文件

   libs\ ............按库分类存放的测试、源码、文档

     index.html ........库文档的首页

     algorithm\

     ……其它库

编译


 

大部分boost库只要包含头文件就可以使用,为了使用方便,还是先全编译一遍

 

打开visual studio的命令窗口,我的visual studio 2015的命令窗口位置:“开始->所有程序->Visual Studio 2015->Visual Studio Tools->VS2015 开发人员命令提示”

 

切换到boost库的根目录,构建Boost.Build:

1 bootstrap

完成后,编译boost库

.\b2

编译完成的库放在"boost根目录/stage/lib"下,默认为32位的库,把lib改名为lib86。

 

编译x64位boost库

.\b2 address-model=64

编译完成的库同样放在"boost根目录/stage/lib"下,把lib改名为lib64。

 

boost::regex库的库文件:

  libboost_regex-vc140-mt-gd-1_59.lib

  libboost_regex-vc140-mt-1_59.lib

其中带gd的是debug版,另一个是release版。不同架构的库命名并没有区别

测试


 构建一个使用boost::regex的项目,测试是否正常

 

 打开visual studio,创建一个空项目,添加一个.cpp文件,粘贴测试代码

#include <boost/regex.hpp>
#include <iostream>
#include <string>

int main()
{
    std::string line;
    boost::regex pattern("[a-zA-Z_][a-zA-Z0-9_]*");
    boost::smatch matches;
    //按“^Z 回车”退出
    std::cin >> line;
    while (std::cin) {
        if (boost::regex_match(line, matches, pattern))
            std::cout << "有效的标识符" << "" << std::endl;
        else
            std::cout << "无效标识符" << std::endl;
        std::cin >> line;
    }    
}

 

右击项目,选择“属性 - C/C++ - 常规 - 附加包含目录”,添加boost根目录

再次右击项目,选择“属性 - 链接器 - 常规 - 附加库目录”,添加编译下出来的为目录,注意区分平台的架构。在我的环境,x86架构就选择“d:\boost159\stage\lib86”。

 

编译运行,一切正常。

 

x86下编译release版,有时会出现错误:“error LNK2026 模块对于 SAFESEH 映像是不安全的”

解决方法:右击项目,选择“属性 - 链接器 - 常规 - 命令行”,敲入:“/SAFESEH:NO”,禁用SEH

参考


http://www.boost.org/doc/libs/1_59_0/more/getting_started/windows.html

Boost-Visual studio 2015环境配置

原文:http://www.cnblogs.com/sqxy110/p/4881078.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!