首页 > 代码库 > 调用opencv时,使用Egien工具出现“error C2061: 语法错误: 标识符“Matrix””和“error C2653: “Eigen”:不是类或命名空间名称”该如何解决?

调用opencv时,使用Egien工具出现“error C2061: 语法错误: 标识符“Matrix””和“error C2653: “Eigen”:不是类或命名空间名称”该如何解决?

这个问题主要是由于头文件的编译问题引起的。

1.如果没有Eigen工具的,先下载Egien工具并配置。

Egien可以去主页下载。配置时,打开你的c++工程属性页:配置属性->C/C++->常规->附加包含目录,然后添加你下载的Eigen的文件夹的路径即可。我的配置是:

技术分享

2.配置好的,在编译时出现这种问题,主要是由于头文件的编译顺序问题。

如果按照下面这种顺序:

#include <opencv2/core/eigen.hpp>
#include <Eigen>

就会产生标题所阐述的错误。

解决方法很简单,就是把编译顺序调换下即可

#include <Eigen>
#include <opencv2/core/eigen.hpp>

 

调用opencv时,使用Egien工具出现“error C2061: 语法错误: 标识符“Matrix””和“error C2653: “Eigen”:不是类或命名空间名称”该如何解决?