0

我在 Ubuntu 16.04 上运行 ROS-kinetic,我正在尝试在 catkin 工作区中构建两个包(lanelet2mrt_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 文件,以便我可以将它们添加到我的 .cmake 文件中CMAK_PREFIX_PATH吗?

4

1 回答 1

1

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

于 2020-02-06T17:57:37.337 回答