You need to enable JavaScript to run this app. Manjaro安装boost后编译boost::thread程序报错的原因及解决方法
优惠活动
大模型
产品
解决方案
定价
更多

Manjaro安装boost后编译boost::thread程序报错的原因及解决方法

错误产生原因

该链接报错的根本原因是编译时未显式链接boost_thread功能模块库。Manjaro官方源提供的boost安装包将不同功能的实现拆分到了独立的动态库文件中,boost::thread相关的类与函数实现没有包含在基础依赖库内,也不会被编译器默认链接,因此链接阶段找不到对应符号实现,最终触发重定位、PIE相关的报错。

修复方案
  • 普通gcc/clang编译场景,直接在编译命令末尾添加-lboost_thread参数即可,示例命令如下:
    g++ 你的源码文件名.cpp -o 生成的可执行文件名 -lboost_thread
    如果代码还用到了boost的system、chrono等其他依赖模块,也可按需补充链接参数,例如:
    g++ 你的源码文件名.cpp -o 生成的可执行文件名 -lboost_thread -lboost_system -lboost_chrono
  • CMake项目管理场景,在CMakeLists.txt中显式指定查找boost thread模块并链接即可,示例配置片段:
find_package(Boost REQUIRED COMPONENTS thread)
include_directories(${Boost_INCLUDE_DIRS})
add_executable(你的可执行文件名 你的源码文件.cpp)
target_link_libraries(你的可执行文件名 ${Boost_LIBRARIES})
  • 如果你需要静态链接boost库,先安装boost静态库包:pacman -S boost-static,之后在编译命令中添加-static参数即可。

内容的提问来源于stack exchange,提问作者wwwazz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 08:12:02