C ++ cmake抛出错误

时间:2014-04-12 18:34:32

标签: c++ cmake opencl

我使用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 / eigen3添加include语句作为建议的第一个答案。但我在/ usr / include目录中找不到任何名为eigen3的文件。

还有其他可能的路径吗?我怎样才能在linux中找到它?

2 个答案:

答案 0 :(得分:1)

尝试在cmake中包含eigen include文件夹。

INCLUDE_DIRECTORIES( /usr/include/eigen3 )

它对我有同样的错误。

答案 1 :(得分:0)

自述文件说你需要安装libeigen3-dev(https://svn.openslam.org/data/svn/g2o/trunk/README

如果您使用的是Ubuntu,请使用apt-get或synaptic安装它。

对于Windows:

“如果您在Windows上进行编译,请下载Eigen3并将其解压缩。 在cmake-gui中,将变量G2O_EIGEN3_INCLUDE设置为该目录“

请阅读'自述':)