Qt Creator 和 Cocos2d 不允许定义 dllimport 静态字段

Definition of dllimport static field not allowed with Qt Creator and Cocos2d

我接到任务,要在 Mac 运行 Windows 上制作最初创建的 qt 项目。需要使用MinGW(g++和gcc)编译。

我在尝试构建项目时遇到了 _WIN32_WINDOWS 没有被定义的问题(尽管它在设置中说它们是),所以我暂时只是硬编码了那个位. 我还必须添加 GL\glew.hft2build.h 以及整个 freetype 库,以获得 cocos2d.

的 win32 版本所需的所有文件

但是,Qt Creator 现在抱怨我正在为大多数 Cocos2d 对象定义 dllimport 静态字段。还有数以千计的警告,指出在没有 dllimport 属性的情况下重新声明了一堆对象。我没有触及 Cocos2d 个文件(除了我强制它使用 win32 的平台之外)。

我做错了什么(硬编码位除外)?

我必须在 QtCreator 的项目菜单中定义 _WIN32_WINDOWS 作为 make 的附加参数以避免硬编码。我还必须定义 CC_STATIC 以防止 Cocos2d 在每个函数之前插入 dllimportdllexport。我添加的参数是:

DEFINES+="_WIN32 _WINDOWS CC_STATIC"