在Linux/Debian系统中选择性安装特定Boost库
如何选择性安装特定Boost库?
方法一:用bcp工具提取所需库(无需先完整安装Boost)
bcp是官方推荐的提取工具,不用先装完整Boost,有源码就能操作:
- 解压Boost源码包,进入根目录
- 先编译bcp工具:
Linux/macOS下执行:./bootstrap.sh && b2 tools/bcp
Windows下执行:bootstrap.bat && b2 tools/bcp - 提取目标库到指定目录,比如要提取
boost.filesystem和boost.thread:./bcp boost/filesystem boost/thread ./my_selected_boost/ - 提取后的目录包含所需库的头文件和源码,直接拿来编译或集成到项目里即可
方法二:编译时只构建特定库
如果需要将库安装到系统目录,直接指定编译目标库更高效:
- 解压源码后先执行bootstrap脚本生成构建工具
- 用b2指定要编译的库,比如只安装filesystem和thread:
b2 --with-filesystem --with-thread install - 这样只会编译并安装指定库,完全跳过其他冗余部分
用CMake构建的情况
如果习惯用CMake,也可以通过变量指定要构建的库:cmake -DBOOST_ENABLE_LIBRARIES="filesystem;thread" ..
之后正常执行make install即可
内容的提问来源于stack exchange,提问作者c_drik
相关产品推荐
相关产品推荐

