我正在使用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« 会导致没有有效的预处理器令牌"
也许了解预处理器的人可以帮助我?
这是我的项目代码,但我无法想象这会如何搞砸事情,但谁知道呢,因为我无法测试它。
在行中
#define IMPORT(type) extern "C" __declspec(dllimport)## type __cdecl
删除##
,给你
#define IMPORT(type) extern "C" __declspec(dllimport) type __cdecl
##
是令牌粘贴运算符,)
不能是令牌的一部分(它本身就是令牌)。我认为代码作者使用的预处理器如果接受它,就是不合格的,但我不知道为什么他们认为那里应该需要它。