Cocos2d-x 4.0 工程首次建立与编译(Mac m1)

Mac m1芯片下将cocos2d-x升级至4.0版本后,官方剔除了不同平台的工程以及变更了编译方式,直接使用cmake构建,需要做一些前置的准备工作。

环境准备:

|-----------|---------------------|---------------------------------------------------------------------------------------------------|
| 项 | 版本 | 备注 |
| MacOS | 10.3 or later | |
| python | 2.7.16(建议>=2.7.10) | |
| cmake | 3.29.3 | Download CMake |
| xcode | 15.4 | |
| cocos2d-x | 4.0 | Download Cocos2d-x |

设定cocos2d-x 4.0开发环境

1.安装cmake

cmake直接使用官网提供的dmg包安装即可,安装完成后自动添加环境变量,安装步骤略。

2.python环境验证

mac自带python环境

bash 复制代码
python2 --version
Python 2.7.16

3.安装cocos2d-x 4.0

3.1 安装ndk&sdk

1.解压至指定目录

2.设置环境变量

bash 复制代码
open ~/.bash_profile

3.使设定生效

bash 复制代码
source ~/.bash_profile

3.2 设定cocos2d-x-4.0环境变量

执行cocos2d-x 4.0根目录下的setup.py(python名称请自行选择,此处我设置python3为python,原python设置为python2),其他的按提示安装即可。执行效果如下:

4.验证成果

4.1 新建工程

bash 复制代码
cocos new HelloWorld2 -l cpp -d .

执行效果如下所示:

5.新建文件夹

bash 复制代码
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/

mkdir mac-build && cd mac-build
cmake .. -GXcode

执行效果如下:

6.xcode中运行

6.1 打开xcode工程文件

6.2 选择需要构建的内容

6.3 执行构建【build】

6.3.1 修正错误
错误一:强制转化类型
cpp 复制代码
iconv_close((iconv_t)_iconv);
iconv((iconv_t)_iconv, (char**)&pin, &inLen, &pout, &outLen);
错误二:无法引入std命名空间

解决方法:

cpp 复制代码
#include <functional>

7.成果展示

至此,在Mac m1芯片2021款macbook pro已运行成功。

如果喜欢请一键三连,存在问题也请不吝赐教。

email:code_captain@163.com

相关推荐
牛哇网络工作室1 小时前
UnityHDRP写实数字人全流程基础5—语音输入和语音识别
android·unity·c#·游戏引擎·aigc·语音识别·xcode
sudebao点com5 小时前
一次“Google 能打开,FlexTV 打不开”的 DNS 故障排查:从 curl 超时到完整证据链
windows·macos·https·cdn·dns·nslookup·网络排错
EXI-小洲15 小时前
MacOS 微服务网关双雄:Nacos + Higress 安装与 Dubbo 配置实战
macos·微服务·nacos·dubbo
优梦创客15 小时前
游戏开发架构选型:第1篇|什么是架构?从进球事件看 MVC 的局限
unity·架构·游戏引擎·游戏开发
EXI-小洲17 小时前
MacOS 上使用 IntelliJ IDEA 指定 Main 函数并打包为 JAR 文件
macos·intellij-idea·jar
Albart5752 天前
Docker Desktop最新版安装踩坑全记录(Windows_Mac_Linux)【2026 4.74.0 终版】
linux·windows·macos·docker·环境搭建·踩坑记录
_ZHOURUI_H_2 天前
Unity TCP底层极限拆解:粘包、半包、CRC、序列号、双缓冲到底怎么一起工作的?
网络·网络协议·tcp/ip·游戏·unity·游戏引擎·游戏开发
Web Security Loop2 天前
MAC卸载JDK环境
java·macos·jdk
qq_170264753 天前
unity里GameObject和Texture的内存归属
java·unity·游戏引擎
weixin_404679313 天前
godot + vscode ai开发
ide·vscode·编辑器·游戏引擎·godot