找不到以下 Boost 库:boost_asio

2024-04-15

当我尝试编译使用 boost 和 asio 的 cmake 项目时,make我收到这些错误:

CMakeFiles/client-network-handler-test.dir/main.cpp.o: In function `__cxx_global_var_init1':
/usr/include/boost/system/error_code.hpp:222: undefined reference to `boost::system::generic_category()'    CMakeFiles/client-network-handler-test.dir/main.cpp.o: In function `__cxx_global_var_init1':
/usr/include/boost/system/error_code.hpp:222: undefined reference to `boost::system::generic_category()'
CMakeFiles/client-network-handler-test.dir/main.cpp.o: In function `__cxx_global_var_init2':
/usr/include/boost/system/error_code.hpp:223: undefined reference to `boost::system::generic_category()'
CMakeFiles/client-network-handler-test.dir/main.cpp.o: In function `__cxx_global_var_init3':
/usr/include/boost/system/error_code.hpp:224: undefined reference to `boost::system::system_category()'
CMakeFiles/client-network-handler-test.dir/main.cpp.o: In function `boost::asio::error::get_system_category()':
/usr/include/boost/asio/error.hpp:216: undefined reference to `boost::system::system_category()'
../../lib/libclient-network-handler.a(ClientNetworkHandler.cpp.o): In function `__cxx_global_var_init1':
/usr/include/boost/system/error_code.hpp:222: undefined reference to `boost::system::generic_category()'
../../lib/libclient-network-handler.a(ClientNetworkHandler.cpp.o): In function `__cxx_global_var_init2':
/usr/include/boost/system/error_code.hpp:223: undefined reference to `boost::system::generic_category()'
../../lib/libclient-network-handler.a(ClientNetworkHandler.cpp.o): In function `__cxx_global_var_init3':
/usr/include/boost/system/error_code.hpp:224: undefined reference to `boost::system::system_category()'
../../lib/libclient-network-handler.a(ClientNetworkHandler.cpp.o): In function `boost::network::uri::uri::parse()':
/home/darren/373project/include/boost/network/uri/uri.hpp:178: undefined reference to `boost::network::uri::detail::parse(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, boost::network::uri::detail::uri_parts<__gnu_cxx::__normal_iterator<char const*, std::string> >&)'
../../lib/libclient-network-handler.a(ClientNetworkHandler.cpp.o): In function `error_code':
/usr/include/boost/system/error_code.hpp:323: undefined reference to `boost::system::system_category()'
CMakeFiles/client-network-handler-test.dir/main.cpp.o: In function `__cxx_global_var_init2':
/usr/include/boost/system/error_code.hpp:223: undefined reference to `boost::system::generic_category()'
CMakeFiles/client-network-handler-test.dir/main.cpp.o: In function `__cxx_global_var_init3':
/usr/include/boost/system/error_code.hpp:224: undefined reference to `boost::system::system_category()'
CMakeFiles/client-network-handler-test.dir/main.cpp.o: In function `boost::asio::error::get_system_category()':
/usr/include/boost/asio/error.hpp:216: undefined reference to `boost::system::system_category()'
../../lib/libclient-network-handler.a(ClientNetworkHandler.cpp.o): In function `__cxx_global_var_init1':
/usr/include/boost/system/error_code.hpp:222: undefined reference to `boost::system::generic_category()'
../../lib/libclient-network-handler.a(ClientNetworkHandler.cpp.o): In function `__cxx_global_var_init2':
/usr/include/boost/system/error_code.hpp:223: undefined reference to `boost::system::generic_category()'
../../lib/libclient-network-handler.a(ClientNetworkHandler.cpp.o): In function `__cxx_global_var_init3':
/usr/include/boost/system/error_code.hpp:224: undefined reference to `boost::system::system_category()'
../../lib/libclient-network-handler.a(ClientNetworkHandler.cpp.o): In function `boost::network::uri::uri::parse()':
/home/myUserName/373project/include/boost/network/uri/uri.hpp:178: undefined reference to `boost::network::uri::detail::parse(__gnu_cxx::__normal_iterator<char const*, std::string>, __gnu_cxx::__normal_iterator<char const*, std::string>, boost::network::uri::detail::uri_parts<__gnu_cxx::__normal_iterator<char const*, std::string> >&)'
../../lib/libclient-network-handler.a(ClientNetworkHandler.cpp.o): In function `error_code':
/usr/include/boost/system/error_code.hpp:323: undefined reference to `boost::system::system_category()'

我推测找不到 asio 库。所以我将这一行添加到我的根 CMakeLists.txt 中:

find_package(Boost 1.54.0 REQUIRED)

并且 CMake 可以找到所有相关的库,如构建日志的这部分所示:

-- Found the following Boost libraries:
--   unit_test_framework
--   system
--   regex
--   date_time
--   thread
--   filesystem
--   program_options
--   chrono
--   atomic

但编译仍然会产生列出的第一个错误。当我将该 CMake 行更改为:

find_package(Boost 1.54.0 REQUIRED asio)

我从 CMake 收到此消息:

CMake Error at /usr/share/cmake-2.8/Modules/FindBoost.cmake:1131 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.54.0

  Boost include path: /usr/include

  Could not find the following Boost libraries:

          boost_asio

正如你所看到的,我已经安装了所有 Boost 库,但我不明白为什么它找不到 asio。


Boost.Asio 是一个仅包含头文件的库 - 即它不需要链接到您的应用程序。

From CMake 的文档FindBoost module https://cmake.org/cmake/help/v3.4/module/FindBoost.html:

该模块查找标头并请求成分图书馆

(强调我的)。

换句话说,find_package(Boost ...)只能用于查找非标头的 Boost 库,如 中列出的增强文档 http://www.boost.org/doc/libs/1_54_0/more/getting_started/unix-variants.html#header-only-libraries.

从你的链接器错误来看,它看起来像你do但需要链接 Boost.System:

find_package(Boost 1.54.0 REQUIRED system)
target_include_directories(MyExe PRIVATE ${Boost_INCLUDE_DIRS})
target_link_libraries(MyExe ${Boost_LIBRARIES})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

找不到以下 Boost 库:boost_asio 的相关文章

随机推荐

  • 左边补零

    我想在字符串中向左填充每个数字 必须是 8 位数字 e g asd 123 rete gt asd 00000123 rete 4444 my text gt 00004444 my text 是否可以使用正则表达式来做到这一点 尤其Reg
  • 如何使用 Twitter Bootstrap 指定多个 javascript 模式参数?

    我有一个使用 Twitter Bootstrap 创建的模式 我想用javascript打开 现在我有以下内容 但是 我还想包括背景和键盘属性 Twitter 的文档将选项显示为 my modal modal keyboard true m
  • 自定义 SAML 应用程序出现 AWS SSO“无访问错误”

    我正在尝试使用 AWS SSO 设置自定义 SAML 2 0 应用程序 但是 我从网络选项卡中收到以下错误 Status code 403 message No access type com amazonaws switchboard p
  • Spring Boot:使用不同的 Tomcat 版本

    在 Spring Boot 文档中有一个部分将 Tomcat 7 x 或 8 0 与 Gradle 结合使用 https docs spring io spring boot docs current reference html howt
  • 从 Java 类生成 XML 模式(或相反)

    我想为我的项目生成一些 XML 模式 我有一些 Java 类 例如 package com fortresswars entity import com fortresswars entity properties Armor import
  • Corona/Box2D 检测与非移动静态物体的碰撞

    出于发帖原因 这是我正在尝试做的事情的简单版本 在屏幕上我有一个简单的圆形对象 它是静态的并且不会移动 然后用户可以拖放一条直线 如果该线穿过该圆圈 我希望触发碰撞事件 看来除非其中一个物体正在移动 否则永远不会检测到碰撞 绘制线条时能否检
  • 如何在 ggplot2 中围绕轴刻度标签创建一个框?

    出于多种原因 我试图复制下面所示的怪诞情节 它违反了良好数据可视化的许多规则 因此出于培训目的 我的目标是使用ggplot2并解构它 一次删除或修改一个选择不当的功能 使用底部复制的数据和图下方的代码 我已经接近目标 但无法弄清楚如何包含一
  • 通过数据管道截断 DynamoDb 或重写数据

    可以通过数据管道转储 DynamoDb 也可以将数据导入 DynamoDb 导入进展顺利 但数据始终附加到 DynamoDb 中已存在的数据 目前 我找到了扫描 DynamoDb 并逐一或通过批量删除项目的工作示例 但无论如何 对于大量数据
  • 高尔夫代码:ASCII 艺术编号 [重复]

    这个问题在这里已经有答案了 可能的重复 代码高尔夫 横幅生成 https stackoverflow com questions 2985540 code golf banner generation 发布您将数字转换为 ASCII 艺术数
  • 使用bluez5读取蓝牙低能耗信标的RSSI

    我想在 2 个蓝牙 le USB 适配器上同时读取蓝牙低功耗信标的 RSSI 我使用的是带有 bluez 5 和 LogiLink BT0015 适配器 CSR 芯片 的 fedora 20 系统 当仅连接一个适配器时 我的代码就像一个魅力
  • 如何从 SQL Server 全文索引返回的文本生成上下文文本摘录?

    我正在尝试使用 SQL Server 的全文索引的想法 它似乎非常适合这项任务 但我的客户想要的是一个非常像 Google 的结果摘要 其中结果显示文本的摘录围绕他们的搜索词 如果我搜索 房子 我的房子是一栋非常非常非常好的房子 http
  • AttributeError:模块“集合”没有属性“设置”

    我在尝试通过输入 python3 odoo bin odoo15 在 mac m1 上安装 odoo 时遇到问题 odoo python3 odoo bin odoo15 Traceback most recent call last Fi
  • 组合多个 UIImageView 并保持分辨率

    我正在设计一个应用程序 用户可以将多个 UIImageView 一个一个地放置 当用户决定将其保存到相册时 我必须组合所有这些 UIImageView 并将其保存到照片库 在组合它们时 我需要保留它们的位置 分辨率 zorder 我尝试的方
  • AngularJS 复选框在取消选中复选框时避免计数

    这是我在 Plunker 中运行的代码 https plnkr co edit AX051IiMsMD14AUBfMbr p preview 我遇到一个错误 当我取消选中答案时 我不想计算我们选择该答案的次数 我们只会在检查答案时才会统计数
  • 如何在一行中增加或减少 C 函数调用中的指针参数值?

    我有以下代码 include
  • Crockford 的“curry”方法中的“this”无效是否有原因?

    在 Douglas Crockford 的书 Javascript The Good Parts 中 他提供了curry方法接受一个函数和参数并返回已添加参数的函数 显然 这并不是真正的 咖喱 是什么意思 https stackoverfl
  • 复制PNG文件错误

    当我归档应用程序时 我的项目中的所有图像都会出现 CopyPNG 错误 我尝试了所有方法删除所有图像 再次添加它们 检查构建阶段 复制捆绑资源 没有找到重复项 我无法理解要进一步做什么 提交应用程序 当我归档具有相同图像的另一个应用程序时
  • codeigniter 1 分页错误

    在模型 rci model php中 public function record count return this gt db gt count all produk public function fetch countries li
  • @mui/system -- 如何将瞬态道具传递给 styled()

    我在用着import styled from mui system 像这样 const Column styled div
  • 找不到以下 Boost 库:boost_asio

    当我尝试编译使用 boost 和 asio 的 cmake 项目时 make我收到这些错误 CMakeFiles client network handler test dir main cpp o In function cxx glob