视觉slam第六讲:使用g2o进行曲线拟合,错误:CMake Error at CMakeList.txt(find_package) By not providing“FindG2O.cmake“

在使用kdevelop进行编译时,显示我的CMakeList.txt文件有错误,我的CMakeList.txt文件中的代码如下
视觉slam第六讲:使用g2o进行曲线拟合,错误:CMake Error at CMakeList.txt(find_package) By not providing“FindG2O.cmake“_第1张图片
出现的错误如下:
视觉slam第六讲:使用g2o进行曲线拟合,错误:CMake Error at CMakeList.txt(find_package) By not providing“FindG2O.cmake“_第2张图片

解决方案如下:
需要在你的CMakeList.txt文件中修改以下代码:
1.首先需要找到你的g2o安装的位置:找到g2o文件夹–右击属性,便可以看到
视觉slam第六讲:使用g2o进行曲线拟合,错误:CMake Error at CMakeList.txt(find_package) By not providing“FindG2O.cmake“_第3张图片


list (APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)


修改为

list(APPEND CMAKE_MODULE_PATH /home/fan/桌面/g2o-master/cmake_modules)

其中,

/home/fan/桌面/g2o-master/cmake_modules //为自己的g2o的文件安装的位置

2.额外添加一个set

set(G2O_ROOT /usr/local/include/g2o)

完成以上步骤,构建就没有问题了,就可以顺利执行了。
代码如下

cmake_minimum_required(VERSION 2.8)
project(go)
set(CMAKE_BUILD_TYPE Release)
set(CMAKE_CXX_FLAGS “-std=c++14 -O3”)
list(APPEND CMAKE_MODULE_PATH /home/fan/桌面/g2o-master/cmake_modules)
set(G2O_ROOT /usr/local/include/g2o)

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

find_package(G2O REQUIRED)
include_directories(${G2O_INCLUDE_DIRS})

include_directories("/usr/include/eigen3")

add_executable(go main.cpp)
target_link_libraries(go ${OpenCV_LIBS} ${G2O_CORE_LIBRARY} ${G2O_STUFF_LIBRARY})

你可能感兴趣的:(ubuntu)