首页 > 其他分享 >g2o编译出现的问题及解决办法 By not providing "FindG2O.cmake" in CMAKE_MODULE_PATH this project has

g2o编译出现的问题及解决办法 By not providing "FindG2O.cmake" in CMAKE_MODULE_PATH this project has

时间:2023-08-24 20:33:05浏览次数:37  
标签:cmake FindG2O project g2o CMAKE G2O PATH

在安装完该g2o之后 运行一些程序 如高翔的ch6 代码会出现如下错误:

CMake Warning at CMakeLists.txt:10 (FIND_PACKAGE):
  By not providing "FindG2O.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "G2O", but
  CMake did not find one.

  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.

解决方式很简单:
主要是CMakeLists.txt上要修改几行代码

本来是这样的就会报错:

list( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake ) 
find_package(G2O REQUIRED) 
include_directories( 
${G2O_INCLUDE_DIRS} ) 

修改为:

list( APPEND CMAKE_MODULE_PATH /home/×××/g2o/cmake_modules ) 
set(G2O_ROOT /usr/local/include/g2o) 
find_package(G2O REQUIRED) 
include_directories( 
${G2O_INCLUDE_DIRS} ) 

然后再cmake便不会出现问题了。

主要原因就是原始代码中的下面一句代码:

${PROJECT_SOURCE_DIR}/cmake

是ch6文件夹中原来就包含的cmake文件夹中FindG2O.cmake在你的文件夹不存在,只要把list那行路径改到FindG2O.cmake存在的文件夹就行。

原文链接:g2o编译出现的问题及解决办法 By not providing "FindG2O.cmake" in CMAKE_MODULE_PATH this project has

标签:cmake,FindG2O,project,g2o,CMAKE,G2O,PATH
From: https://www.cnblogs.com/rainbow70626/p/17655111.html

相关文章

  • 手动将QT项目打包成exe(手动打包,不是CMake自动打包)
    综述:仅记录QT项目打包的过程。构建工具:CMake主要流程:确保项目软件可以正常运行。使用release生成发布文件夹。将发布文件夹中的运行文件和依赖文件打包到另一个文件夹中。步骤:一、确保项目软件可以正常运行。点击左下角的运行按键确保软件正常运行(如果不能正常运行,下......
  • 【Protoc】VS2019 (VS平台) 使用 CMake 编译安装、使用 Protobuf 库
    背景:工作中需要使用到protobuf,看了一些教程,感觉都不是很适合,便自己总结一些开发环境:Win10VS2019CMake3.24.2Protobuf3.21.12(Protoc版本必须于Protobuf版本一致)MinGW版本的编译在之后有空再研究。https://stackoverflow.com/questions/9243816/how-to-build-......
  • 2023Spring Project2
    CheckPoint1Task1:B+Treepages第一个Task需要完成三个page,分别是B+TreePage,B+TreeInternalPage,B+TreeLeafPage。B+TreePage这个类是InternalPage与LeafPage的基类,主要是完成一些非常简单的Get/Set方法。最后需要注意一点,GetMinSize()这个方法,中间节点的GetMinSize......
  • cmake入门教程——以LLVM、Pytorch为例
    时代变了,已经基本无人写makefile,现在都是使用cmake进行项目构建的。cmake相对来说还是比较简单的,鄙人熟练修改LLVM/Pytorch,我们可以剖析下我比较熟悉项目的cmake配置。一、cmake介绍二、LLVMcmake配置三、Pytorchcmake配置四、总结......
  • MongoDB 聚合操作之 $project 操作
     1、MongoDB聚合类操作 2、MongoDB数据操作(八)聚合框架(2)$project 3、$project判断数组中是否包含某元素并返回boolean值 ......
  • MinGW-w64、cmake 安装
    介绍MSVC:即MicrosoftVisualC++Compiler,即微软自己的编译器我们下载Windows下的OpenCV时,会带两个文件夹VC14,VC15(分别与VisualStudio的版本有对应关系),这两个文件夹下的库可以直接运行不需要编译将VS作为Qt的开发环境也是使用这个编译器的缘故MinGW:我们都知道GNU在Linux下面......
  • 项目管理(Project Management)
    项目管理(ProjectManagement)是指对项目进行规划、组织、协调和控制的过程,以实现项目目标的一系列活动。它涉及到对项目范围、时间、成本、质量、风险等方面的管理,以确保项目按照预定的要求和目标顺利完成。在项目管理中,PE(ProjectEvaluation)是指对项目进行评估和审查的过程。它可......
  • 8-20|https://gitlab.xx.com/api/v4/projects/4/trigger/pipeline Request failed 状
    当你使用GitLabAPI并收到状态码400,这通常意味着你发送的请求是“坏的”或格式不正确。以下是一些建议,帮助你解决问题:1.**验证请求正文**:确保你提供的请求正文(如果有的话)是正确的并符合API的预期格式。对于触发管道的API,你可能需要提供有关分支、变量等的信息。2.**检查URL*......
  • [转]By not providing "FindEigen3.cmake" in CMAKE_MODULE_PATH this project has
    在编译安装的时候出现如下问题,是Eigen3的Cmake依赖问题,已经安装eigen3,但在项目的find_package(Eigen3QUERIED)中,无法找到FindEigen3.Cmake. CMakeErroratloam_velodyne/CMakeLists.txt:13(find_package):Bynotproviding"FindEigen3.cmake"inCMAKE_MODULE_......
  • gcc make cmake ninja的区别
    理清C++编译过程用到的工具概念ref:GCC、CMake、CMakelist、Make、Makefile、Ninja啥关系?一图讲透!-知乎(zhihu.com)早先学C++的时候,因为只需要点击IDE的运行按钮,程序就可以跑起来,写过最复杂的只不过是几个文件的学生管理系统。现在要重新拾起C++,看的项目和之前的不可同日而......