0

我正在使用 Code::Blocks 和 MinGW 与 CL NUI 一起编译和运行 OpenCV,以便我可以将 Kinect-Data 导入 OpenCV。OpenCV 工作正常,但 CL NUI 不能,因为我遇到了一些与我不太熟悉的预处理器有关的 API 问题。

这是我在项目中包含的 API 中的代码,我只收到此错误:

“C:\Program Files (x86)\Code Laboratories\CL NUI Platform\SDK\Include/CLNUIDevice.h:19:1: Fehler: das Einfügen von »)« und »int« ergibt kein gültiges Präprozessor-Token”

翻译:“...CLNUIDevice.h:19:1: 错误:添加 »)« 和 »int« 导致没有有效的预处理器令牌”

也许有预处理器知识的人可以帮助我?

这是我的项目代码,但我无法想象这会如何搞砸事情,但谁知道呢,因为我无法测试它。

4

1 回答 1

2

在行

#define IMPORT(type) extern "C" __declspec(dllimport)## type __cdecl

删除##,给你

#define IMPORT(type) extern "C" __declspec(dllimport) type __cdecl

##是令牌粘贴运算符,)不能是令牌的一部分(它本身就是一个令牌)。我认为代码作者使用的预处理器如果接受它是不合格的,但我不知道他们为什么认为那里应该需要它。

于 2012-11-27T12:27:46.593 回答