微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在cmake文件中指定包位置?

如何解决如何在cmake文件中指定包位置?

我在Ubuntu 18.04 pc上有同一个库(g2o)的两个版本。其中一个是在ROS工作空间(/ home / riccardo / catkin_ws / src / g2o)中用catkin_make构建的。 另一个位于我要构建的项目的目录中(/ home / myproject / g2o)。 如我所说,我正在尝试使用catkin_build和g2o库的第二个版本构建 myproject 。但是,我发现catkin_build找到了g2o库的第一个版本,即ROS工作区中的那个版本。

我在 myproject 目录下有一个 CMakeLists.txt ,我尝试了不同的方法来指定确切的软件包位置:

  • 首先,我尝试过:

find_package(G2O required PATHS ${PROJECT_SOURCE_DIR}/g2o)

在这种情况下,错误如下:

CMake Error at /home/myproject/CMakeLists.txt:28 (find_package):
  Could not find a package configuration file provided by "G2O" with any of
  the following names:

    G2OConfig.cmake
    g2o-config.cmake

  Add the installation prefix of "G2O" to CMAKE_PREFIX_PATH or set "G2O_DIR"
  to a directory containing one of the above files.  If "G2O" provides a
  separate development package or SDK,be sure it has been installed.
  • 然后,我还尝试了:
LIST(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/g2o/cmake_modules)
SET(G2O_ROOT ${PROJECT_SOURCE_DIR}/g2o)
find_package(G2O required)

在这种情况下,使用了其他g2o版本。

你能帮我吗?

编辑1

我认为Stackoverflow有一个相关的问题: How to clone,build,and link g2o framework in C++ 但是,我在/ home / user /中没有${CMAKE_PREFIX_INTALL}指定的目录。我不明白我该怎么办...

编辑2

为了构建和安装g2o库,我在g2o根目录中启动了以下命令:

  • mkdir构建
  • 光盘制作
  • cmake ../
  • 制作

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。