预处理器错误C++

Preprocessor error C++

本文关键字:C++ 错误 处理器 预处理      更新时间:2023-10-16

我正在使用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

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