Cocos2d_x系列一:Cocos2d-x在xcode下开发生成静态库添加到项目

Cocos2d_x系列一:Cocos2d-x在xcode下开发生成静态库添加到项目,第1张

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

在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在xcode下开发生成静态库添加到项目全部内容,希望文章能够帮你解决Cocos2d_x系列一:Cocos2d-x在xcode下开发生成静态库添加到项目所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1084144.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存