调用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>
时间: 2024-10-17 00:59:15

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

使用Opencv2遇到error C2061: 语法错误: 标识符dest

在写代码是遇到了这样一个问题,error C2061: 语法错误: 标识符"dest": 1>d:\opencv\opencv\build\include\opencv2\flann\any.h(70): error C2061: 语法错误: 标识符"dest" 1>          d:\opencv\opencv\build\include\opencv2\flann\any.h(69): 编译类 模板 成员函数"void cvflann

VS 报cmath(19): error C2061: 语法错误: 标识符&ldquo;acosf&rdquo; 错误

这是因为我在.c文件中用了 #include <iostream> using namespace std; 这样编译的时候就报: 出现错误类型如下:1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(19): error C2061: 语法错误: 标识符"acosf"1>c:\program files (x86)\microsoft visual studio 10.0

error C2061: 语法错误: 标识符“openmode”

今天在一台新机子上编译项目,出现了这个错误,不知如何解决,先记录一下. 1>------ 已启动全部重新生成: 项目: ZERO_CHECK, 配置: Debug x64 ------1> Checking Build System1> CMake does not need to re-run because O:/OpenSceneGraph/osgearth_2_4_build/CMakeFiles/generate.stamp is up-to-date.1> CMake

[ISSUE][PENDING]cocos2d-x ... error C2059: 语法错误:“-”

在定义的头文件中并没有使用到任何coco2d-x的东西,提示错误 error C2059: 语法错误:“-” (..\..\src\Xxxx.cpp)error C2143: 语法错误 : 缺少“;”(在“}”的前面) (..\..\src\Xxxx.cpp)error C2238: 意外的标记位于“;”之前 (..\..\src\Xxxx.cpp)error C2575: “updateQuadWithParticle”: 只有成员函数和基可以是虚拟的 (..\..\src\Xxxx.cpp)

关于CUDA C 项目中“ error C2059: 语法错误:“&lt;” ”问题的解决方法

该问题的关键在于理解CUDA项目中C\C++文件需要由c++编译器进行编译,而CUDA C的源文件需要由CUDA的编译器nvcc.exe进行编译. 发生该语法错误的原因是cu文件被C++编译器所编译,C++编译器无法识别 "<<<",导致报错. 为什么cu文件会被C++编译器所编译呢?原因在于我们使用#include将cu文件包含到了C++文件中.对于#include的用途,更简单的理解就是把几个文件合并成一个文件,所以,当编译C++文件中,包含其中的cu文件也会被编

error C2589: &ldquo;(&rdquo;: &ldquo;::&rdquo;右边的非法标记 error C2059: 语法错误 : &ldquo;::

1. 错误输出 ./zlibrary/ui/src/win32/w32widgets/W32VBorderBox.cpp(114) : error C2589: "(": "::"右边的非法标记    ./zlibrary/ui/src/win32/w32widgets/W32VBorderBox.cpp(114) : error C2059: 语法错误 : "::"2. 错误代码举例 size.Width = std::max(size.Wid

解决error C2059: 语法错误:“::”问题

错误代码提示: 1>f:\opencv\opencv\build\include\opencv2\flann\lsh_table.h(266): error C2059: 语法错误:“::”f:\opencv\opencv\build\include\opencv2\flann\lsh_table.h(266): error C2589: “(”:“::”右边的非法标记 const size_t key_size_upper_bound = std::min(sizeof(BucketKey)

VC++编译错误error C2065: “HANDLE”: 未声明的标识符及添加winbase.h后提示winbase.h(243): error C2146: 语法错误: 缺少“;”(在标识符“Internal”的前面)的解决办法

问题描述: VC++程序编译时提示错误:error C2065: "HANDLE": 未声明的标识符等众多错误提示,如下所示: error C2065: "HANDLE": 未声明的标识符 error C2146: 语法错误: 缺少";"(在标识符"hFind"的前面) error C2065: "hFind": 未声明的标识符 error C2065: "INVALID_HANDLE_VALUE

vs2012 MinGW编译ffmpeg 出现libavdevice/avdevice.c(38) : error C2059: 语法错误:“.”

利用vs2012编译ffmpeg出现以下错误: libavdevice/avdevice.c(38) : error C2059: 语法错误:"." libavdevice/avdevice.c(40) : error C2059: 语法错误:"," libavdevice/avdevice.c(42) : error C2059: 语法错误:"," libavdevice/avdevice.c(44) : error C2059: 语法错误:&