cocos-2dx 4.0 win10 环境搭建血泪史
这几天在win10 x64系统上搭建了cocos-2dx 4.0的环境,终于成功了,血泪史啊!!
献上官方教程(他太简单了,要是有他说的那么顺利就好了):(这沙雕博客园cnblog的编辑器,竟然不能ctrl + v,提示你的浏览器不支持该功能 请用快捷键代替,好在编辑器换成markdown就行了,换了也不行!但是重新打开编辑器后能粘贴一下)
(https://docs.cocos2d-x.org/cocos2d-x/v4/zh/installation/Windows.html)[https://docs.cocos2d-x.org/cocos2d-x/v4/zh/installation/Windows.html]
注意这个链接,是v4,cocos2dx的版本的教程都不同,别看错了!
我这里就不把详细流程复述一遍了,我也是参考网上的教程,但是网上的教程良莠不齐,所以本文主要是讲解关键步骤,高屋建瓴。
装coscos2d-x 需要cmake、python2.7、Visual Studio 2017/2019(注意勾选安装VC编译环境),这个要提前装好。当然如果不用VS,应该也是可以的,那需要的工具集就是 cmake、python2.7、mingGw编译环境。
cmake、python2.7 的安装教程网上一大把,而且都没什么问题。visual studio的安装我得专门提一下,因为这玩意儿真是要我老命。
首先,针对cocos2dx 4.0,安装VS2019是完全可以的!安装VS时,需要下载visual studio installer,打开后,勾选 “使用C++的桌面开发”,如下图:
这时,VS installer会自动帮你选择最小安装组件,切记,千万不要自作主张取消他的安装组件!!!如下所示才是正常的:
红色框是VC编译环境(VS称之为生成工具)、绿色框是win10 SDK,这两者非常重要,取消其中任一后面都会有问题。我当时,由于自己已经装过win10 SDK 10.0.20xxxx,于是就取消了勾选绿色框,结果后面安装好的VS连Hello world都跑不了,提示缺少 windowsSDKdir 属性,而这玩意儿,我搜了全网也没搞懂怎么弄(据说是注册表的事儿)。
好,如果VS安装好了,就成功了一半了。补充:VS默认是没有把VC编译环境位置也到Path环境变量中去的,因为需要把VS路径写到Path去。方法是,开始栏搜索x86,打开这个:
**切记,是x86**,不管你是32位机器还是64位机器,只用x86编译工具。打开后,在命令行输入 `where cl`,会给出 `cl` 的路径(`cl`类似于`gcc`一样的命令,我的理解),把cl所在的文件夹地址拷贝到**系统环境变量**中去。
接下来,下载cocos2dx 4.0,官网下载即可。注意下载后,操作过程可不是https://docs.cocos2d-x.org/cocos2d-x/v4/zh/installation/Windows.html所说那么简单。
官方教程说:
cd COCOS2DX/tests/cpp-tests mkdir win32-build cd win32-build cmake .. -G"Visual Studio 15 2017" -Tv141
这是有问题的。
怎么做呢,首先要对下载好的包进行编译才行,然后才能只能上述命令(上述命令还需要修改)。
对cocos2dx 4.0进行编译:解压下载后的包,命令行进入该文件夹,运行命令 `python setup.py`,由于我们只是开发windows游戏,如果NDK什么的就不用管了。python这儿需要python2.7才行。
执行上述命令,但略有修改:
cd COCOS2DX/tests/cpp-tests mkdir win32-build cd win32-build cmake .. -G"Visual Studio 16 2019" -Tv142 -A win32
# 注意这儿的不同,因为是VS2019,所以需要改成Visual Studio 16 2019;
# 因为我们安装VS的时候生成工具是v142(参考本文第二幅图的红框),所以得改成142;
# 由于我们这是64位系统,而cocos2dx 只支持32位编译,所以 一定要加 -A win32(目标机器32位编译)
最后,再拿着VS到win32-build下去打开编译出来的工程(cpp-tests.vcxproj),大功告成!!!
另外,贴几个我看过的有用的链接:
https://blog.csdn.net/sunnyboychina/article/details/104711649
https://www.cnblogs.com/dereen/p/ps_conda_env.html (如果你用conda,又用powershell的话,会用得到)