gpt4 book ai didi

c++ - 对 'boost::system::system_category()' 的 undefined reference

转载 作者:行者123 更新时间:2023-11-27 23:59:45 35 4
gpt4 key购买 nike

我正在尝试编译 library作为依赖项有 boost 。使用 cmake 编译时出现以下错误:

../libdasp/libdasp.so: error: undefined reference to'boost::system::system_category()' ../libdasp/libdasp.so: error:undefined reference to 'boost::system::generic_category()'

我已经使用 this page 上的说明手动安装了 boost 1.62|在我的 ubuntu 12.04 机器上。为了避免任何与路径相关的不一致,我使用 apt 删除了默认的 libboost-dev (1.48),并将新的 boost 安装到/usr。

我在 stackoverflow 上寻找过类似的问题,他们要求添加 -lboost_system 或类似的东西。但是我不明白当其余文件使用相同的库成功编译时,我如何强制 cmake 查找这个特定的库(表明我的 boost 安装没有缺陷)。给出错误的 CMakeLists 文件是 here

我执行了以下命令

locate boost_system

输出是

/usr/lib/libboost_system.a

/usr/lib/libboost_system.so

/usr/lib/libboost_system.so.1.46.1

任何答案或指示都会非常有帮助。

最佳答案

尝试:

set(BOOST_ROOT <where you built boost>)

find_package(Boost COMPONENTS program_options signals thread system)
find_package(Threads)

...

target_link_libraries(target ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
target_include_directories(target PUBLIC SYSTEM ${Boost_INCLUDE_DIRS})

删除这些:

boost_signals
boost_thread
boost_program_options
boost_system
pthread

此处的文档:https://cmake.org/cmake/help/v3.0/module/FindBoost.html

关于c++ - 对 'boost::system::system_category()' 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40062421/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com