关于cocos2dx 4.0 cmake编译的一些坑

1.官方文档给出的是创建 cmake项目
cmake …
而实际上这样创建的是cmake x64项目,而cocos用了专门的32位宏。即使改了对应的宏,也有一大堆库位不匹配。所以实际的项目创建方式应该是。
cmake -A win32 …

2.cocos4.0新增了同步脚本,用来同步res和src。而实际上所用的sync_folder.py是有bug的。当然这可能和我的python也有关系。我自己本身也会开发python所以python版本是py3.8。当然也共存了py2.7用来创建cocos项目和 自动binding 。
这个bug在于当前的写法并非支持无参选项。会让vs 报错就不能直接启动项目。找到sync_folder.py文件,对应的地方修改为:
parser.add_argument("-l", dest=“luajit”,nargs="?", default= None)
parser.add_argument("-m", dest=“mode”, nargs="?",default=None)
3.cocos4.0删掉了js binding。但是我不明白的是删掉了jsbinding,却把cocos-lua的文档导出的内容给注释掉了,而没有删掉js的相关导出代码。一般而言这种导出文档还是挺有用的,我自己能改回来,但是还是希望官方能改回来。

发现了一些问题,cocos4.0取消了simulator。整个项目也没发现resource.h。那我怎么改icon呢

1赞

只有自问自答了啊,cmake没有把 game.rc添加进项目。需要手动添加,他会报错,然后你进去编辑代码,删掉顶部的resource.h的include。然后开始编译,报错就删掉相关的代码,删掉两处之后就编译通过了。这样就可以修改icon了。
再提一句,因为删掉了simulator。所以glview的实例是在 lua文件中创建的。可以通过修改config.lua设计尺寸直接修改窗口大小。
再提一句。cocos 无论debug还是release编译都会默认带控制台。可以考虑去main.cpp 修改一下,release不编译出控制台

大佬,cocos 使用在 vs 使用的是 绝对路径,它拿给其他人之后还是显示绝对路径,需要使用 cmake 重新构建,关键是文件太多了,我知道要改 GAME_SOURCE 添加源文件,改 GAME_HEADER 添加头文件,问题是我不会 cmake,需要怎么才能遍历识别 classes 中的 .cpp 和 .h 呢?(这样重新使用 cmake 构建项目)

噢噢,找到了
改为
file(GLOB_RECURSE CPPSRCLIST ./Classes/.cpp)
file(GLOB_RECURSE CPPHEADLIST ./Classes/
.h)

list(APPEND GAME_SOURCE ${CPPSRCLIST})
list(APPEND GAME_HEADER ${CPPHEADLIST})

cmake 生成工程不能很好的协同工作。
目前的办法是创建最新的 v3 工程,把 v4 整个引擎弄过去,也花不了多长时间。

:wink:

4.0还能使用ndk-build么

能否问下,你最后cmake 出来的 vs 工程是否还包含了绝对路径,能否告知,怎么修改?

有步骤吗,就是都需要拷贝什么文件夹到什么文件夹一类的操作