上一章: 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)
第三步,配置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支持的框架。或者删除重新导入支持库。
或者检查工程配置文件的参数修改是正确…………
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。