【Boost库初探】Boost.Regex库编译、使用(32位/64位)
来源:互联网 发布:hadoop排序算法解析 编辑:程序博客网 时间:2024/06/05 21:07
一、32位版本regex库编译
- 【项目】->【属性】->【配置属性】->【VC++目录】->【包含目录】下添加“F:\boost_1_57_0”,其实所有hpp文件都在F:\boost_1_57_0\boost下,但是我写时候要用到F:\boost_1_57_0下的其它文件,包含目录设成F:\boost_1_57_0\boost导致我的部分文件找不到,所以这里只设为F:\boost_1_57_0,在程序中#include "boost/regex.hpp"。
- 【项目】->【属性】->【配置属性】->【VC++目录】->【库目录】下添加“F:\boost_1_57_0\libs\regex\build\vc100”
#include <iostream>#include <string>#include "boost/regex.hpp"int main(){ boost::regex reg("\\d{3}([a-zA-Z]+).(\\d{2}|N/A)\\s\\1"); std::string correct = "123Hello N/A Hello"; std::string incorrect = "123Hello 12 hello"; if (boost::regex_match(correct, reg) == true) { std::cout << "correct is mached!" << std::endl; } if (boost::regex_match(incorrect, reg) == true) { std::cout << "incorrect is unmached!" << std::endl; } system("pause"); return 0;}
二、32位、64位通用编译方法
1. 编译环境
如果要编译指定的库,首先打开命令行,转到$BOOST_ROOT目录并运行目录下的bootstrap.bat脚本,这个脚本为Boost.Build系统的运行准备环境。
1
bootstrap.bat
可以看到现在$BOOST_ROOT目录下增加有b2.exe和bjam.exe两个可执行文件。这两个文件是一样的,只是名字不同,它们可以调用Boost.Build系统来创建上面那些需要编译安装的库。
2. 编译
比如我们想单独编译安装regex库,运行下面的命令即可
1
bjam stage --with-regex link=static threading=multi runtime-link=static address-model=64
下面介绍相关参数的含义:
stage 仅创建和安装库文件(不创建头文件),可以用 –stagedir= 选项指定库的安装位置,默认安装在当前目录下的stage文件夹内。
–with- 创建和安装指定的库,如果使用了这个选项,则仅仅指定的库被创建,其它库不被创建。如果不指定这个选项,默认创建所有需要编译安装的库。
link=static指定生成静态regex库
threading=multi指定生成多线程库
runtime-link=static指定链接静态C和C++ 运行库
address-model=64指定编译成64位
具体参数详解:
stage/install:stage表示只生成库(dll和lib),install还会生成包含头文件的include目录。本人推荐使用stage,因为install生成的这个include目录实际就是boost安装包解压缩后的boost目录(E:\SDK\boost\boost,只比include目录多几个非hpp文件,都很小),所以可以直接使用,而且不同的IDE都可以使用同一套头文件,这样既节省编译时间,也节省硬盘空间。
3. 参考资料
http://grow.sinaapp.com/?p=1155
- 【Boost库初探】Boost.Regex库编译、使用(32位/64位)
- boost 库编译64位
- 编译并使用boost库(win7+boost1.63+vs2015+32位or 64位)
- 编译并使用boost库(win7+boost1.63+vs2015+32位or 64位)
- VS2017 编译64位boost静态库
- 编译64位的boost库
- 64位boost编译
- 64位BOOST编译
- 编译64位boost
- 编译64位boost
- boost 库Regex使用
- 32/64位Windows 7 下VC9.0编译boost::regex,带ICU
- windows 下boost 64 位和32位库的编译编译
- Boost.Regex库使用实例
- win8 64位 VS2013下boost库的编译
- Boost.Regex库在linux上的编译安装,使用
- Boost.Regex库在linux上的编译安装,使用
- vs2008编译 boost 1_35_0 regex 库
- [IOS]猿题库网络json数据缓存
- RMAN备份与恢复(2)恢复有备份的表空间和数据文件
- gif动图怎么修改大小
- js中的数组中的数组相加
- RMAN备份与恢复(3)恢复归档日志、控制文件、参数文件
- 【Boost库初探】Boost.Regex库编译、使用(32位/64位)
- RMAN备份与恢复(4)恢复无备份的数据文件
- 面向对象的设计原则
- android项目解刨之时间轴
- win8.1如何设置开机密码
- 微博开发2客户端的BaseTask以及BaseTaskPool
- SurfaceView显示动画效果
- 自定义组件研究<三>
- caj文件如何打开