C++ 如何克服struct C++;在OpenCV和RTMaps中?

C++ 如何克服struct C++;在OpenCV和RTMaps中?,c++,opencv,visual-studio-2012,declaration,redefinition,C++,Opencv,Visual Studio 2012,Declaration,Redefinition,我必须使用一个名为“RTMaps”(基于块的编程环境)的软件工具进行基于视觉的实时控制。我习惯了 opencv 和 RTMAPs/Stult>支持在C++中创建自己的块,所以我写了我的图像处理算法,用 opencv p> 问题是在RTMaps中,Iplimage已经被定义为一种数据类型,因此当我尝试将代码集成到一个新块中时,会出现以下严重错误: 我怎样才能克服这个问题,而不是有相同类型的双重声明?我需要OpenCV库中的其他函数/数据类型,我无法更改RTMaps核心 看了这个, 我想你也可以使用

我必须使用一个名为“RTMaps”(基于块的编程环境)的软件工具进行基于视觉的实时控制。我习惯了<强> opencv 和 RTMAPs/Stult>支持在C++中创建自己的块,所以我写了我的图像处理算法,用<强> opencv p> 问题是在RTMaps中,Iplimage已经被定义为一种数据类型,因此当我尝试将代码集成到一个新块中时,会出现以下严重错误:

我怎样才能克服这个问题,而不是有相同类型的双重声明?我需要OpenCV库中的其他函数/数据类型,我无法更改RTMaps核心

看了这个, 我想你也可以使用C++头代替C,所以OpenCV实体进入“CV”命名空间。这应该可以解决名称冲突。

查看以下内容后:
我想你也可以使用C++头代替C,所以OpenCV实体进入“CV”命名空间。这应该可以解决名称冲突。

有一个宏告诉RTMaps避免重新定义IplImage结构。在标题中,您需要按以下顺序写入包含项:

#include <opencv2/opencv.hpp> //Or any other OpenCV header
#define __IPL_H__
#include "maps.hpp"
#包含//或任何其他OpenCV标题
#定义知识产权__
#包括“maps.hpp”

有一个宏告诉RTMaps避免重新定义IplImage结构。在标题中,您需要按以下顺序写入包含项:

#include <opencv2/opencv.hpp> //Or any other OpenCV header
#define __IPL_H__
#include "maps.hpp"
#包含//或任何其他OpenCV标题
#定义知识产权__
#包括“maps.hpp”

C++标题位于“代码”> OpenCV2 LIB中,在这个LIB中,不再包含<代码> Iplimage < /C> >类型,只有<代码> Mat < /代码>,并且没有与<代码> Iplimage < /> >相关的函数。此外,在RTMAP中只存在
Iplimage
数据类型。另一个问题是,opencv
Iplimage
cv::\u InputArray
但TRMAP不是。因此,需要合并实体,而不是分离实体。无论如何,我很高兴你有解决方案。C++标题在<代码> opcnv2< /Cult> LIB中,在这个LIB中,它不再包含<代码> Iplimage < /C> >类型,只有<代码> Mat < /代码>,并且没有任何函数与<代码> Iplimage < /> >。此外,在RTMAP中只存在
Iplimage
数据类型。另一个问题是,opencv
Iplimage
cv::\u InputArray
但TRMAP不是。因此,需要合并实体,而不是分离实体。不管怎样,我很高兴你们得到了解决方案。我喜欢这样做,但我仍然遇到一些更糟糕的错误,比如:
>C:\ProgramFiles(x86)\Microsoft SDK\Windows\v7.1A\include\winnt.h(6464):错误C2872:“访问掩码”:不明确的符号
在标题中不使用
名称空间
,我确实这样做了,但我仍然收到一些更严重的错误,如:
>C:\ProgramFiles(x86)\Microsoft SDK\Windows\v7.1A\include\winnt.h(6464):错误C2872:“访问掩码”:不明确的符号
不允许在标题中使用
命名空间