我接到了一项任务,要让最初在Mac上创建的qt项目在Windows上运行。它需要使用MinGW(g++和gcc(进行编译。
我在尝试构建项目时遇到了_WIN32
和_WINDOWS
没有定义的问题(尽管在设置中说它们是(,所以我暂时只是硬编码了这一点。我还必须添加GLglew.h
和ft2build.h
以及整个freetype库,以获得win32版本的cocos2d所需的所有文件。
然而,QtCreator现在抱怨我正在为大多数Cocos2d对象定义dllimport
静态字段。还有成千上万的警告,表明在没有dllimport
属性的情况下重新声明了一堆对象。我还没有接触过Cocos2d文件(除了我强迫它使用win32的平台文件(。
我做错了什么(除了硬编码部分(?
为了避免硬编码,我不得不在QtCreator的项目菜单中定义_WIN32
和_WINDOWS
作为make的附加参数。我还必须定义CC_STATIC
,以防止Cocos2d在每个函数之前插入dllimport
或dllexport
。我补充的论点是:
DEFINES+="_WIN32 _WINDOWS CC_STATIC"