Cocos2d-x项目创建之 原生ios项目导入Cocos2d框架
上一章: Cocos2d-x项目创建之 静态库生成
第一步,“Cocos2d-X源码”和“预编译静态库”准备 Cocos2d-X源码可在官网下载,如:
Cocos2d-X预编译静态库生成方法:Cocos2d-x项目创建之 静态库生成
第二步,原生iOS项目导入“Cocos2d-X源码”和“预编译静态库” 1.预编译静态库导入:(本方法只导入“模拟器Debug”环境的静态库,其他环境静态库导入方法雷同!) 如图: 2.Cocos2d-X源码包导入,Cocos2d-X源码包粘贴复制放在MyFirst项目 的一级目录中:(Cocos2d-X源码包,用于cocos项目开发过程中使用,相当于将官方API集成在工程本地文件中。用于开发过程中,代码API调用!) 如图:
3.Cocos2d-X源码包引用:(Cocos2d-X源码包,用于cocos项目开发过程中使用,相当于将官方API集成在工程本地文件中。用于开发过程中,代码API调用!) (1)、[project] -- [Build Setting] -- [Header Search Paths]:
$(SRCROOT)/cocos2d-x-3.10 $(SRCROOT)/cocos2d-x-3.10/cocos $(SRCROOT)/cocos2d-x-3.10/cocos/base $(SRCROOT)/cocos2d-x-3.10/cocos/physics $(SRCROOT)/cocos2d-x-3.10/cocos/math $(SRCROOT)/cocos2d-x-3.10/cocos/2d $(SRCROOT)/cocos2d-x-3.10/cocos/ui $(SRCROOT)/cocos2d-x-3.10/cocos/network $(SRCROOT)/cocos2d-x-3.10/cocos/audio/include $(SRCROOT)/cocos2d-x-3.10/cocos/editor-support $(SRCROOT)/cocos2d-x-3.10/extensions $(SRCROOT)/cocos2d-x-3.10/external $(SRCROOT)/cocos2d-x-3.10/external/chipmunk/include/chipmunk
(2)、[targets] -- [Build Setting] -- [Header Search Paths]:
$(inherited) $(SRCROOT)/cocos2d-x-3.10/cocos/platform/sos $(SRCROOT)/cocos2d-x-3.10/cocos/platform/ios/Simulation
(3)、[targets] -- [Build Setting] -- [Library Search Paths]:
$(SRCROOT)/cocos2d-x-3.10/prebuilt/ios $(PROJECT_DIR)
4.设置pch路径,使用Prefix.pch 文件。如图:
第三步,配置Cocos2d-X开发所需框架,如图:
第四步,Cocos2d-X工程环境配置 1.Build Settings中配置,设置Valid Architectures ,设置处理器编译环境 如图:
2.Build Options ->Enable Bitcode 设置为NO 3.设置Other Linker Flages
$(_COCOS_LIB_IOS_BEGIN) $(_COCOS_LIB_IOS_END) -ObjC 如图:
4.设置Other C flages -DNS_BLOCK_ASSERTIONS=1 如图:
5.设置 C Language Dialect 为 Compiler Default,如图:
6.设置PreProcessor Macros Debug: USE_FILE32API CC_TARGET_OS_IPHONE COCOS2D_DEBUG=1 CC_ENABLE_CHIPMUNK_INTEGRATION=1 如图: Release: USE_FILE32API CC_TARGET_OS_IPHONE CC_ENABLE_CHIPMUNK_INTEGRATION=1 如图: 7.设置Apple LLVM [7/8/9/10……] - Warnings - All languages,如图:
第五步,将原有的Cocos2d-X工程文件导入新搭建的ios原生项目中,分别对照“原有的Cocos2d-X工程”修改iOS原生项目,如图: 运行项目,大搞成功!!! 注意:如果运行失败,可能是iOS支持框架添加有误,也可能是工程配置文件配置有误!!! 项目报错: 1.类似std::basic_string/std::string::find……………… 解决方案:可能是因为导入的框架不合理或者方法不对,也可能是导入的框架类型或者版本不对,因此不支持C++编译环境,检查导入iOS支持的框架。或者删除重新导入支持库。 如果,仍然报错,就导入libstdc++.dylib或者libstdc++.6.0.9.dylib即可 2.类似"_deflateReset",referenced from:………………… "*******",referenced from:……………… 可能是因为导入的框架不合理或者方法不对,也可能是导入的框架类型或者版本不对,因此不支持C++编译环境,检查导入iOS支持的框架。或者删除重新导入支持库。 或者检查工程配置文件的参数修改是正确………… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |