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

相关推荐
EXI-小洲13 小时前
MacOS 环境下 IntelliJ IDEA 的 Maven 配置指南
macos·maven·intellij-idea
aspirant-complete20 小时前
MAC(Apple Silicon)嵌入式基于Clion(stm32CubeMX)环境搭建
stm32·macos
郝学胜-神的一滴21 小时前
Horse3D 游戏引擎研发笔记(七):Clydesdale——从流式日志到多输出订阅
c++·qt·unity·游戏引擎·图形渲染·unreal engine·opengl
江上闲人.2 天前
Wardogs战犬\战狗Beta测试启动报错UE崩溃卡顿?解决方法来了
游戏·游戏引擎·虚幻·战犬·战狗·wardogs
EXI-小洲2 天前
MacOS IDEA将本地项目代码上传至SVN空仓库
macos·svn·intellij-idea
杨丰玮4182 天前
从零手写Java飞机躲障碍游戏|Swing绘图、鼠标跟随、计时器碰撞检测实战(五)
java·python·游戏·游戏引擎·图形渲染·动画·贴图
鼎艺创新科技2 天前
不依赖 UE/Unity:我们如何从零搭建一套国产三维 GIS 渲染引擎
人工智能·算法·unity·游戏引擎·三维电子沙盘
huihui3612 天前
校友网管理软件技术选型框架:基于功能核验与系统架构的量化评估
unity·系统架构·游戏引擎
五仁烧饼2 天前
Unity性能优化系列设置篇 - URP 移动端设置基线与分档策略
unity·游戏引擎