编译boost子仓库
boost一个很强大的库
我在使用过程中希望用到regex,但boost太大,只想用regex;
-
先下载boost库的源码,注意源码中有很多子仓库,也要下载
-
cd 到boost目录下
-
激活.b2安装程序sh bootstrap.sh
-
过程中可能有报错,某个sh文件没有权限,chmod 777 报错的文件,再次sh bootstrap.sh
-
安装某个小功能的库./b2–with-regex–prefix=你的安装路径 install
–with-(功能模块) -
安装静态的库,必须要有-fPIC,防止你用这个静态库去生成动态库的时候,有符号不允许动态
./b2 link=static cxxflags=-fPIC cflags=-fPIc --with-regex --prefix=你的安装路径 install -
之后删除include里面不需要的头文件,就可以简化
-
还有一种更简化的防止,regex是直接可以放入工程中的,源码包含最小
-
可以独立于boost进行编译,在你的cmakelist中
set(BOOST_REGEX_STANDALONE ON)
add_subdirectory(“regex”)
之后直接包含头文件就可以使用了