Cocos2d-x 3.x已经支持使用CMake来进行构建了,这里尝试以Qt Creator IDE来进行CMake构建。
Cocos2d-x 3.X 地址:https://github.com/cocos2d/cocos2d-x
1.打开Qt Creator,菜单栏→"打开文件或项目...",打开cocos2d-x目录下的CMakeLists.txt文件;
2.弹出CMake向导,如下图所示:
设置构建的目录,然后点击"下一步",设置cmake.exe文件的路径,继续"下一步";
3.在"执行CMake"界面,"创建器"选择MinGW项,然后直接点击"执行CMake"按钮,如下图所示:
4.没有错误的话,直接点击"完成"。生成的项目结构如下:
5.搭建 MSYS2 环境,可以很方便的生成MinGW第三方库,参见文章《MSYS2 环境搭建》,目前需要生成的库有以下:zlib、jpeg、png、tiff、webp、freetype、glew、glfw、xz、bzip2等。另外libwebsockets库需要自己编译,参见文章《MinGW 编译libwebsockets》。
6.接着设置环境变量来进行引用这些库,切换到“项目”页面,在“构建环境”下方添加变量:
1
2 |
CPLUS_INCLUDE_PATH D:\msys2\msys32\mingw32\include
LIBRARY_PATH D:\msys2\msys32\mingw32\lib |
7.因为glew需要链接静态库,而MSYS2环境下动态库和静态库在相同路径,会首先链接动态库。打开"...\cocos2d-x\cocos\2d\CMakeLists.txt"文件,更改其中语句:
1
2 3 4 5 6 7 8 9 10 11 12 |
if(WIN32)
if(MINGW) set(COCOS_LINK z jpeg png webp tiff glfw3 glew32 |
8.进行编译。
9.将"D:\msys2\msys32\mingw32\bin"文件夹下所需要的DLL拷贝到"...\cocos2d-x-build\bin\testcpp"文件夹下。点击左侧" 项目"→" 运行",选择运行配置" testcpp",设置其" 工作目录"为:F:\MyCode\qt\Pro\cocos2d-x-build\bin\testcpp\Resources,如下图所示:
10.在Qt Creator中点击运行,即可看到界面,如下图所示:
另外,需要结合IncrediBuild进行联合编译的话,可以点击左侧"项目"→"构建"→"构建步骤",先禁用掉原先的Make步骤,然后"添加构建步骤"→"自定义处理步骤",在"命令"处指定联合编译的批处理文件,可以参照文章《Qt MinGW 使用联合编译IncrediBuild》。如下图所示: