Boost-Visual studio 2015环境配置
2015-10-14 23:09
337 查看
下载
官方网站: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:
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相关文章推荐
- shell脚本编程-例子_服务器存活监控
- 典型的垃圾收集器
- Python编写简易木马程序
- 宏在使用过程余函数的区别<1>
- Linux鸟哥私房菜学习笔记(四)
- 4-10 阶乘计算升级版 (20分)
- Oracle 简单操作手册
- [bzoj2226][SPOJ5971]LCMSUM
- 进程&线程小结
- worker_pool的例子
- 浅析c++中的类型转换--const_cast
- IndexedDB: 浏览器里内置的数据库简介
- Application.mk
- 浅析c++中的类型转换--const_cast
- 算法(一)求链表中的倒数第K 个结点
- ENVI遥感影像自然真彩色增强方法
- 实现基于Task的异步模式
- 海思Hi3518内核编译过程中问题点记录
- ndk-build
- 地图定位异常问题