Cocos2d-x在xcode下开发生成静态库添加到项目

本文介绍如何在Xcode环境下使用Cocos2d-x+Lua开发过程中,通过将Cocos2d-x核心库、Lua绑定及模拟器组件编译成静态库来加速项目的构建过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引言

在xcode下使用cocos2d-x+Lua开发游戏项目的过程中,我们只是把cocos2d-x作为一种工具在使用,而作为cocos2d-x引擎本身,我们基本不会修改底层(或者说是很少修改),那么问题来了,如果我们需要重编译或者archive打包的时候,编译cocos的库将会占据大部分的时间,基于这种情况,如果我们把cocos(或者一些不会修改的依赖项目)编辑成一个静态库的话,势必会节省很多不必要的编译时间。

1.使用cocos2d-x+Lua开发,会用到哪些底层项目(库)


55EA7405-B045-4DD9-8252-DFBC26653C77.png
  • cocos2d-x项目
    cocos源码项目,工程文件是位于 cocos2d-x/build下的cocos2d_libs.xcodeproj文件。
  • cocos2d_lua_bindings项目
    cocos2d_lua_bindings作为cocos的绑定项目,只是把cocos的底层功能绑定到lua使用,如果cocos底层不需要修改的话,那么lua-cocos2d-x也是可以打成静态库加到项目中使用的。工程文件是位于cocos2d-x/cocos/scripting/lua-bindings/proj.ios_mac下的cocos2d_lua_bindings.xcodeproj文件。
    注:如果只是使用cocos2d-x开发而不是使用cocos2d-x+Lua的话,则不会有cocos2d_lua_bindings这个项目。

  • simulator项目
    simulator是适用于模拟器的项目,我们完全可以把它对应的iOS和Mac的target打成静态库,以对应不同平台。文件是位于cocos2d-x/tools/simulator/libsimulator/proj.ios_mac下的libsimulator.xcodeproj文件。
    所以,在使用cocos2d-x开发中,我们可以把cocos2d-x、lua-cocos2dx、simulator项目编译成静态库文件使用

    2.编译静态库

  • 以cocos2d-x项目为例,Delete项目下的cocos项目,打开 cocos2d-x/build/cocos2d_libs.xcodeproj工程,选择相应的target。
    如图,在1处选择targets为iOS或者Mac,在2处选择为release或者debug版本。


    4FB6CD1E-E18E-4C9C-82D9-2D6D4FA39F6B.png
  • 编译该工程,编译成功后,在Products显示编译成功的静态库,右击查看生成在本地的静态库。

F7182C01-EB6A-4717-8160-E19A6D992FC8.png
  • 如图,是生成的各个版本的静态库。

48FBD211-2E2B-4670-A979-01C3EC93C7EB.png
  • 可以通过命令:“lipo -info XXX.a”可以查看静态库的适用环境。

F2C4F370-4A9B-4E00-8CF4-86476444062A.png
  • 将.a静态库文件放在项目路径下(建议新建目录)。
  • 打开xcode,选择targets,选择Build Phases下的Link Binary With Libraries,点击左下角的“+”后选择“Add Other...”,选择加到项目路径下的.a文件。

136A5798-56C1-4F37-9EA9-97DFAE08F4FA.png
  • 如图,添加成功。

F2F45CD1-97DB-4358-A6CA-0B92E2E560A0.png
  • cocos2d_lua_binding项目和libsimulator项目编译生成静态库并加入到项目流程类似,不再赘述。
    注:为了通用起见可以将几个.a库进行合并,这样生成的静态库既可以在模拟器下运行,也可以在真机下运行,合并的命令类似于:lipo -create ./Debug-iphonesimulator/libCocosDenshion\ iOS.a ./Debug-iphoneos/libCocosDenshion\ iOS.a -output $OUTPUTDIR_PATH/libCocosDenshion\ iOS.a


文/明天不用上课(简书作者)
原文链接:http://www.jianshu.com/p/5d7f24f0150a
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
### 构建 Cocos2d-x 项目的流程 为了成功构建 Cocos2d-x 项目开发者通常遵循一系列特定的操作来设置开发环境并编译源码。Cocos2d-x 是一个多平台框架,支持多种操作系统和编程语言接口。 #### 设置开发环境 确保安装了必要的工具链和支持库,这取决于目标平台的选择。对于 Android 平台而言,需要配置 JDK、Android SDK 和 NDK;而对于 iOS,则需具备 Xcode 开发套件[^1]。 #### 初始化新工程 通过命令行创建一个新的 Cocos2d-x 工程可以简化许多初始化工作: ```bash $ cocos new MyGame -p com.MyCompany.MyGame -l cpp -d /path/to/project/directory/ ``` 这条指令会自动生成一个基本结构完整的 C++ 版本的游戏模板,并将其放置于指定路径下。 #### 编写游戏逻辑代码 进入刚刚建立好的项目文件夹内,在 `Classes` 文件夹里编写核心业务逻辑以及场景管理等相关功能模块的实现代码。此部分涉及具体的应用需求设计,因此无法提供统一的标准示例。 #### 配置编译选项 编辑位于根目录下的 `build-cfg.json` 或者使用脚本来调整不同平台上的编译参数设定。例如修改 API level、链接第三方静态库等操作均在此完成。 #### 执行编译过程 利用预设好的批处理文件或 shell 脚本执行实际的编译动作。针对 Windows 用户来说就是运行 `.bat` 文件;而在 Mac/Linux 上则是调用相应的 Shell Script 来触发 cmake 的 makefile 生产与最终的目标二进制生成步骤。 ```bash # For Linux/MacOS users, run this command inside the project root directory. $ ./build_native.sh ``` #### 测试应用成果 最后一步是在模拟器或是真实设备上部署测试应用程序的表现情况,验证是否存在任何潜在错误或者性能瓶颈等问题。如果一切正常的话,恭喜您已经完成了第一个简单的 Cocos2d-x 游戏作品!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值