Cocos2d-x环境搭建(Mac)
Contents
前言
是的我最近在学习 Cocos2d-x 。你可能会有疑问,已经 2023 年了为什么还要学习 Cocos2d-x ?
Cocos2d-x 最新一次发布是在 2019-12-04,已经 3 年没更新了,这时候学习不是明智之举。
我最初知道 Cocos2d-x 的时候还是上大学那会,在极客学院学了不少知识,后面没什么场景会用到,就再也没使用过了。
我最近又学了是因为我们有个项目要提供 Cocos2d-x 的版本,这么多年过去我也没想到还会有一天要用到。
我在搭建环境碰到了一些问题,记录一下。
下载 Cocos2d-x 引擎
点击Cocos2d-x选择 4.0 版本进行下载, Cocos2d 的官网有好几产品,我们要的是 Cocos2d-x 而不是 Cocos Creator 别下错了。
Cocos Create 使用 Lua 来进行游戏开发的,而 Cocos2d-x 是用 C++ 进行开发。
下载好之后解压,接下来就需要准备 Python2.7 的环境,因为不支持 Python3.x 。
准备 Python2.7
由于我使用的是 Anaconda ,所以下面以 Anaconda 为例。你可以使用 brew 或者 pyenv 进行安装。
conda create -n cocos python=2.7 # 创建一个python2.7 的环境,命名为 coocos
conda activate cocos # 激活 cocos 环境
设置 Cocos 环境变量
cd cocos2d-x-4.0 # 进入到解压好的目录
python setup.py # 运行setup 配置环境变量
source .bashrc # 使配置的变量生效
setup.py 会在你的 .bashrc 或者 .zshrc 中写入 Cocos2d-x 需要的环境变量。
在终端中输入 cocos -v 检测是否配置成功,如果有如下输出就表明成功了。
$ cocos -v
cocos2d-x-4.0
Cocos Console 2.3
创建项目
环境变量都配置好了,就可以来创建 Cocos2d-x 项目了
# 格式 cocos new <game name> -p <package identifier> -l <language> -d <location>
cocos new demo -p com.sample.demo -l cpp -d .
> Copy template into /Users/test/demo
> Copying Cocos2d-x files...
> Rename project name from 'HelloCpp' to 'demo'
> Replace the project name from 'HelloCpp' to 'demo'
> Replace the project package name from 'org.cocos2dx.hellocpp' to 'com.sample.demo'
> Replace the Mac bundle id from 'org.cocos2dx.hellocpp' to 'com.sample.demo'
> Replace the iOS bundle id from 'org.cocos2dx.hellocpp' to 'com.sample.demo'
生成 Mac 工程
创建好了,我们想要在 Mac 平台下进行开发,还需要使用 cmake 生成 Xcode 的工程。之前的 3.x 的版本是自带的,4.0 不知道为啥就不带了。
没安装 cmake 的可以使用 brew install cmake 进行安装。
cd proj.ios_mac
cmake .. -GXcode
执行完了之后就能看到 demo.xcodeproj ,双击就可以用 Xcode 进行开发了。
生成 iOS 工程
cd proj.ios_mac
cmake .. -GXcode -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos
如果你要在模拟器上使用需要把 CMAKE_OSX_SYSROOT 改为 iphonesimulator
mkdir build && cd build
cmake .. -GXcode -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator
碰到错误
如果你进行编译,报如下错误
clang: error: no such file or directory: '/usr/lib/libz.dylib'
clang: error: no such file or directory: '/usr/lib/libiconv.dylib'
可以在 build settings 里找 linking ,把 /usr/lib/libz.dylib 和 /usr/lib/libiconv.dylib 换成
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libz.dylib
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libiconv.dylib
总结
Cocos2d 许多年不更新了,使用新版的 Xcode 会碰到一些问题。在 3.x 的版本上还需要改源码。
并且 Cocos2d 不支持 Python3 ,还是有点落后了。