开发腾讯移动游戏平台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/
转载请注明出处】
开发腾讯移动游戏平台SDK ios版Ane扩展 总结的更多相关文章
- 开发腾讯移动游戏平台SDK Android版Ane扩展 总结
本文记录了在开发 腾讯移动游戏平台SDK(MSDK) Android版Ane扩展 过程中所遇到的问题和相关解决方式 问题一:编译报错:Unable to resolve target 'android ...
- 开发QQ互联ios版Ane扩张 辛酸史
来源:http://www.myexception.cn/operating-system/1451490.html 开发QQ互联ios版Ane扩展 辛酸史 开发QQ互联ios版Ane扩展辛酸史: 1 ...
- 腾讯微信被怼,iOS版微信不能打赏了
2017年4月19日,估计很多有着大量粉丝的微信自媒体作者会感到很不爽,因为他们的苹果粉丝再也无法很爽快地.肆意.任性地打赏他们了,按目前iphone手机的占有率,估计打赏率会掉一半以上. 据微信派微 ...
- Kubernetes - 腾讯蓝鲸配置平台(CMDB)开源版部署
蓝鲸CMDB 蓝鲸配置平台(蓝鲸CMDB)是一个基于运维场景设计的企业配置管理服务.主要功能: 1. 拓扑化的主机管理:主机基础属性.主机快照数据.主机归属关系管理 2. 组织架构管理:可扩展的基于业 ...
- 转:探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法
前言 相信这样一个问题,大家都不会陌生, “有什么的方法可以使Android的程序APK不用安装,而能够直接启动”. 发现最后的结局都是不能实现这个美好的愿望,而腾讯Android手机游戏平台却又能实 ...
- 探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法
前言相信这样一个问题,大家都不会陌生,“有什么的方法可以使Android的程序APK不用安装,而能够直接启动”.发现最后的结局都是不能实现这个美好的愿望,而腾讯Android手机游戏平台却又能实现这个 ...
- 视频直播SDK-ios版
IOS视频直播接入说明 一.名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1080x720,6 ...
- Ubuntu 18.04下安装Steam顶级在线游戏平台
Ubuntu 18.04下安装Steam顶级在线游戏平台 原创: 聆听世界的鱼 Linux公社 今天 Steam是由Valve公司开发的顶级在线游戏平台,是目前全球最大的综合性数字发行平台之一.它让你 ...
- ios版弹珠游戏源码
这个是我们比较喜欢玩的一直小游戏的,ios版弹珠游戏源码,该游戏源码来着IOS教程网其他网友提供上传的,大家可以了解一下吧. nore_js_op> <ignore_js_op&g ...
随机推荐
- bzoj1937
这道题没弄明白 初始模型很好想,是用到了最小生成树的性质 加入非树边后树上形成的环,非树边一定大于等于任意树边 然后考虑树边一定是缩小,非树边一定是增大 有di+wi>=dj-wj wi+wj& ...
- SHOI2008小约翰的游戏John
1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 1139 Solved: 701[Submit][ ...
- ASP.NET Cache
ASP.NET为了方便我们访问Cache,在HttpRuntime类中加了一个静态属性Cache,这样,我们就可以在任意地方使用Cache的功能. 而且,ASP.NET还给它增加了二个“快捷方式”:P ...
- urllib
urllib Python 标准库 urllib2 的使用细节 python 2.x 3.x from urllib import request with request.urlopen('http ...
- 几种通讯协议的比较RMI > Httpinvoker >= Hessian >> Burlap >> web service
一.综述本文比较了RMI,Hessian,Burlap,Httpinvoker,web service等5种通讯协议的在不同的数据结构和不同数据量时的传输性能.RMI是java语言本身提供的远程通讯协 ...
- NopCommerce架构分析之三---数据库初试化及数据操作
系统启动时执行任务:IStartupTask,启动时执行的任务主要是数据库的初始化和加载. IStartupTask调用IEfDataProvider进行数据库的初始化. IEfDataProvide ...
- C#第三方控件的使用
一.DEVEXPRESS的使用 官网:https://www.devexpress.com/ 入门教程:http://wenku.baidu.com/link?url=2sXEEby1ffx9JTWG ...
- Javascript 知识点简介
如何在HTML中引入JS? 所有重定向的HTML标签内都可以嵌入javascript代码. 浮点数不要用 == 来进行判断 var num=0; for(var i=0;i<10;i++) ...
- 枚举类型的单例模式(java)
Inspired by Effective Java. Singleton模式是在编程实践中应用最广泛的几种设计模式之一.以前知道的,实现单例的方法有两种(下面的A.B).刚刚在读<Effect ...
- 《转》GDB中应该知道的几个调试方法
原文:http://coolshell.cn/articles/3643.html 七.八年前写过一篇<用GDB调试程序>,于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB ...