C++导致抛出错误

C++ cmake throwing error

本文关键字:出错 错误 C++      更新时间:2023-10-16

我正在使用cmake在linux的g2o图库中运行示例程序。我得到以下错误。我正在运行的文件有以下代码

#include <Eigen/Core>

这导致了错误。

[  3%] Building CXX object data_fitting/CMakeFiles/circle_fit.dir/circle_fit.o g2o/trunk/g2o/examples/data_fitting/circle_fit.cpp:27:2    3: fatal error: Eigen/Core: No such file or directory
compilation terminated.
make[2]: *** [data_fitting/CMakeFiles/circle_fit.dir/circle_fit.o] Error 1
make[1]: *** [data_fitting/CMakeFiles/circle_fit.dir/all] Error 2

我是使用cmake的新手。这是因为CMakeLists.txt文件中的错误吗?

INCLUDE_DIRECTORIES(${CSPARSE_INCLUDE_DIR})
ADD_EXECUTABLE(circle_fit
  circle_fit.cpp
)
SET_TARGET_PROPERTIES(circle_fit PROPERTIES OUTPUT_NAME circle_fit${EXE_POSTFIX})
TARGET_LINK_LIBRARIES(circle_fit core solver_csparse)
ADD_EXECUTABLE(curve_fit
  curve_fit.cpp
)
SET_TARGET_PROPERTIES(curve_fit PROPERTIES OUTPUT_NAME curve_fit${EXE_POSTFIX})
TARGET_LINK_LIBRARIES(curve_fit core)

我已经为此挣扎了一天。cmake的教程也没有多大帮助。如何修复此错误?

我尝试为/usr/include/igeno3添加include语句作为建议的第一个答案。但是我在/usr/include目录中找不到任何名为eigeno3的文件。

还有其他可能的途径吗?如何在linux中找到它?

尝试在cmake中包含特征包含文件夹。

INCLUDE_DIRECTORIES( /usr/include/eigen3 )

它对我同样的错误起了作用。

自述文件说您需要安装libeigen3dev(https://svn.openslam.org/data/svn/g2o/trunk/README)

如果你是Ubuntu用户,请使用apt-get或synaptic进行安装。

对于Windows:

"如果你在Windows上编译,请下载Eigen3并提取它。在cmake-gui中,将变量G2O_EIGEN3_INCLUDE设置为目录"

请阅读"自述文件":)

相关文章: