【问题标题】:How can I add boost_signalsConfig.cmake to my CMAKE_PREFIX_PATH如何将 boost_signalsConfig.cmake 添加到我的 CMAKE_PREFIX_PATH
【发布时间】:2020-02-05 22:26:04
【问题描述】:

我在 Ubuntu 16.04 上运行 ROS-kinetic,我正在尝试在 catkin 工作区中构建两个包 (lanelet2 & mrt_cmake_modules)

当我在工作区中运行 Catkin_make 时,我收到以下错误:

CMake Error at /usr/local/lib/cmake/Boost-1.70.0/BoostConfig.cmake:95 (find_package):
  Could not find a package configuration file provided by "boost_signals"
  (requested version 1.70.0) with any of the following names:

    boost_signalsConfig.cmake
    boost_signals-config.cmake

  Add the installation prefix of "boost_signals" to CMAKE_PREFIX_PATH or set
  "boost_signals_DIR" to a directory containing one of the above files.  If
  "boost_signals" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  /usr/local/lib/cmake/Boost-1.70.0/BoostConfig.cmake:124 (boost_find_dependency)
  /usr/share/cmake-3.5/Modules/FindBoost.cmake:245 (find_package)
  mrt_cmake_modules/cmake/Modules/FindAutoDeps.cmake:120 (find_package)
  lanelet2/lanelet2_core/CMakeLists.txt:19 (find_package)


-- Configuring incomplete, errors occurred!

我确实安装了 boost 库(版本 1.58):

dpkg -s libboost-all-dev | grep 'Version'
Version: 1.58.0.1ubuntu1

我似乎无法在系统中的任何位置找到boost_signalsConfig.cmakeboost_signals-config.cmake,因此我无法添加CMAKE_PREFIX_PATH 的路径。

谁能告诉我如何获取这些 .cmake 文件,以便我可以将它们添加到我的CMAK_PREFIX_PATH

【问题讨论】:

  • 您可以尝试在提供 CMake 参数时将 CMake 变量 Boost_NO_BOOST_CMAKE 设置为 OFF-DBoost_NO_BOOST_CMAKE=OFF
  • “我确实安装了 boost 库(版本 1.58)” - 根据错误位置,您在 /usr/local/ 下安装了 Boost 1.70。请重新检查您实际拥有的 Boost。

标签: boost cmake ros catkin boost-signals


【解决方案1】:

感谢@Tsyvarev 指出问题。查看我的 /usr/local/ 目录后,我发现 libboost 1.70 仍然安装,因此我删除了 /usr/local/lib/ 和 /usr/local/include 中与 libboost 1.70 相关的所有文件。这样做后一切都编译好了。

【讨论】:

    猜你喜欢
    • 2014-04-08
    • 2016-04-07
    • 1970-01-01
    • 2016-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-13
    相关资源
    最近更新 更多