【发布时间】:2017-02-25 00:32:35
【问题描述】:
我正在尝试编译一个 library,它具有 boost 作为依赖项。在使用 cmake 编译时,我收到以下错误:
../libdasp/libdasp.so:错误:未定义的引用 'boost::system::system_category()' ../libdasp/libdasp.so: 错误: 对'boost::system::generic_category()'的未定义引用
我已经在我的 ubuntu 12.04 机器上使用this page 上的说明手动安装了 boost 1.62。为了避免任何与路径相关的不一致,我使用 apt 删除了默认的 libboost-dev (1.48) 并将新的 boost 安装到 /usr。
我在 stackoverflow 上寻找过类似的问题,他们要求添加 -lboost_system 或类似的东西。但是我不明白当其余文件使用同一个库成功编译时,我怎么能强制 cmake 查找这个特定的库(表明我的 boost 安装没有缺陷)。给出错误的 CMakeLists 文件是 here
我执行了以下命令
定位 boost_system
输出是
/usr/lib/libboost_system.a
/usr/lib/libboost_system.so
/usr/lib/libboost_system.so.1.46.1
任何答案或指示都会非常有帮助。
【问题讨论】: