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

相关推荐
请为小H留灯10 小时前
Mac 常用操作与维护技巧
macos·电脑·清理电脑·常用技巧
hantmac20 小时前
不记得文件名时,Mac 上的搜索还能怎么做?
人工智能·macos
郝学胜-神的一滴20 小时前
游戏设计:原型与开发 18:Unity入门的第一课
人工智能·程序人生·游戏·ui·unity·游戏引擎
这是谁的博客?20 小时前
AI 加速器 RTL 数字系统设计深度解析:从 MAC 阵列 Verilog 实现到时序收敛与时钟功耗的芯片落地全链路
人工智能·macos·ai·verilog·数字ic设计·ai芯片·rtl
slacker-kian20 小时前
M 系列 Mac 清除顽固的 CorpLink
macos·corplink·m系列
淡海水1 天前
09-01-内存-Unity资源生命周期全景
unity·c#·游戏引擎·.netcore·gc
Solange__1 天前
AI世界模型、3D场景生成和游戏引擎怎么选?按5类任务比较交互、物理与导出
开发语言·人工智能·游戏·平面·3d·自然语言处理·游戏引擎
kk_net88991 天前
FSNotes:macOS 和 iOS 上的开源笔记管理器
笔记·其他·macos·ios
呆呆敲代码的小Y1 天前
【实战精选面试题】Unity精选面试题详细解答,按模块整理汇总
人工智能·游戏·unity·游戏引擎
zhangfeng11331 天前
com.apple.quarantine 并不是乱码,而是 macOS Gatekeeper 给下载文件自动打上的“隔离属性
macos·策略模式