开发腾讯移动游戏平台SDK ios版Ane扩展 总结

开发腾讯移动游戏平台SDK ios版Ane扩展 总结

本文记录了在开发 腾讯移动游戏平台SDK(MSDK) ios版Ane扩展 过程中所遇到的问题

文中非常多问题都是基础的问题、对object c和xcode配置了解不深入导致的。(没办法,开发ane的程序猿大部分都是做ActionScript的,一般对c/c++都没有开发经验)

问题一、编译报错:Unexpected ‘@’ in program

代码例如以下:
@try{
}
@catch{
}
原因是高版本号xcode代码放在低版本号xcode下跑,低版本号ios 不支持这样的写法(ios 7.0编译正常),须要改动设置ios Deployment Target属性
假设要支持安装在低版本号的ios上,则不能用这样的写法—-待确认??

 

问题二、c++代码和object-c混合编译,会报错:Cannot use ‘@try’ with Objective-C exceptionsdisabled

解决的方法:改动target -> build settings -> All | Combined -> Apple LLVMCompiler 5.0 – Language – Objective C 中 EnableObjective-C Exceptions 为YES

 

问题三、编译报错 instance method ‘-AddList:’ not found (returntype defaults to ‘id’)

原因1:没有import .h文件,仅仅通过 @class file 方式引用了文件,解决方法是 把文件import进来
http://blog.csdn.net/liuyuyefz/article/details/8189210

原因2:实例方法和静态方法搞错了

 

问题四、项目移植到还有一个版本号ide后编译报错

Unsupported compiler ‘com.apple.compilers.llvmgcc42’ selected forarchitecture ‘armv7’
Unableto determine concrete GCC compiler for file/Users/flash8/Desktop/app/TencentMSDKAneIOS/TencentMSDKAneIOS/TencentMSDKAneIOS.mof type sourcecode.c.objc.
原因是xcode版本号不同,编译器不一样了,解决方法:
设置 Build Settings-> Build Options -> Compiler for C/C++/Objective-C 选择DefaultComplier (Apple LLVM 5.1)

 

问题五、打包时报错:ld: framework not found AdSupport

原因是platformoptions.xml中未加入�在上加入�AdSupportframework,注意(低于IOS 6.0系统须要在xcode中设置为Optional)
<option>-frameworkAdSupport</option>

 

问题六、打包时报错:-[GDataXMLElement attributeForName]……一大段

原因是platformoptions.xml中未加入�在上加入�libxml2
<option>-lxml2</option>

 

问题七、打包时报错:

Undefined symbols for architecture armv7:  
 “_TencentMSDKAneIOSExtInitializer”,referenced from:
     _g_com_adobe_air_fre_fmap in extensionglue.o
     (maybe you meant:_TencentMSDKAneIOSExtInitializer_name)
 “_TencentMSDKAneIOSExtInitializer”,referenced from:
     _g_com_adobe_air_fre_fmap in extensionglue.o
     (maybe you meant:_TencentMSDKAneIOSExtFinalizer_name)
 ld:symbol(s) not found for architecture armv7
Compilationfailed while executing : ld64
找了好久,一直怀疑是类库漏了或配置错误,后来发现原因是 c++把函数名翻译了(这个项目包括c++代码)
解决的方法是在头文件里用extern c把那两入口函数包住
#if__cplusplus
extern”C” {
#endif
void *TencentMSDKAneIOSExtInitializer();
void *TencentMSDKAneIOSExtInitializer();
#if__cplusplus
}  // Extern C
#endif
參考链接:http://stackoverflow.com/questions/7376003/linker-error-using-extern-c-in-objective-c-code

问题八、#import<vector> 编译时提示错误“vector.h file not found”

原因是项目中引入了C++ STL里的vector.h文件,编译器的配置不正确,改动例如以下配置就可以:
1. 选择project -> build setting -> apple LLVM compiler 3.0 – language配置项,
2. 将Compile Sources As设置项改动为Objective-C++。

【原文链接:http://blog.csdn.net/linguifa/article/details/25741807/  转载请注明出处】

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/119041.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • mysql的innodb与myisam(oracle主键和唯一索引的区别)

    InnoDB和MyISAM是很多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,5.7之后就不一样了1、事务和外键InnoDB具有事务,支持4个事务隔离级别,回滚,崩溃修复能力和多版本并发的事务安全,包括ACID。如果应用中需要执行大量的INSERT或UPDATE操作,则应该使用InnoDB,这样可以提高多用户并发操作的性能MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索…

  • 通用 PE 工具箱1.9.6(XP内核)by Uepon(李培聪)[通俗易懂]

    通用 PE 工具箱1.9.6(XP内核)by Uepon(李培聪)[通俗易懂]通用PE工具箱1.9.6(XP内核)byUepon(李培聪)官网:http://hi.baidu.com/uepon?page=21.8版论坛帖子:http://bbs.wuyou.net/forum.php?mod=viewthread&amp;tid=119749通用PE1.9.6介绍:http://hi.baidu.com/uepon/item/ceafeb322ba148b9633a…

  • idea 全局查找快捷键

    idea 全局查找快捷键对的

  • python图像识别与提取_图像分类python

    python图像识别与提取_图像分类python前面一篇文章介绍了图像增强知识,从而改善图像质量,增强图像识别效果,核心内容分为直方图均衡化、局部直方图均衡化和自动色彩均衡三部分。这篇文章将详细讲解图像分类知识,包括常见的图像分类算法,并介绍Python环境下的贝叶斯图像分类算法、基于KNN算法的图像分类和基于神经网络算法的图像分类等案例。万字长文整理,希望对您有所帮助。同时,该部分知识均为作者查阅资料撰写总结,并且开设成了收费专栏,为小宝赚点奶粉钱,感谢您的抬爱。当然如果您是在读学生或经济拮据,可以私聊我给你每篇文章开白名单,或者转发原文给你,更希望

    2022年10月14日
  • windows 7 开机错误 未能连接到一个Windows服务

    windows 7 开机错误 未能连接到一个Windows服务Windows无法连接到systemeventnotificationservice服务。此问题阻止标准用户登录系统。作为管理员用户,您可以复查系统事件日志,以获得有关此服务未响应原因的详细信息。如下图:莫名其妙突然电脑死机了,重启后就出现了上述问题,并且电脑无法连网,开机速度慢到需要4分钟多,刚开机还黑屏。查看systemeventnotificationserv…

  • 桶排序算法c语言_哪种排序算法最快

    桶排序算法c语言_哪种排序算法最快在前几回我们已经对冒泡排序、直接插入排序、希尔排序、选择排序、快速排序、归并排序、堆排序、计数排序做了说明分析(具体详情可在公众号历史消息中查看)。本回,将对桶排序进行相关说明分析。一、排序算法系列目录说明冒泡排序(BubbleSort)插入排序(InsertionSort)希尔排序(ShellSort)选择排序(SelectionSort)快速排序(Quick…

    2022年10月23日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号