腾讯移动游戏平台SDK(MSDK) ios版Ane扩展 过程中所遇到的问题
来源:互联网 发布:matlab中蚁群算法 编辑:程序博客网 时间:2024/05/24 15:38
本文记录了在开发 腾讯移动游戏平台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(MSDK) ios版Ane扩展 过程中所遇到的问题
- 开发腾讯移动游戏平台SDK ios版Ane扩展
- 开发腾讯移动游戏平台SDK ios版Ane扩展 总结
- 开发腾讯移动游戏平台SDK Android版Ane扩展 总结
- 接入腾讯MSDK例子出现的问题
- 腾讯MSDK接入untiy3d游戏
- 使用phonegap进行移动跨平台在Android平台开发所遇到的问题
- 建立maven的过程中所遇到的一点问题
- cocos2d-x游戏中加入sdk遇到的问题
- 使用Hibernate过程中所遇到的问题已经解决方法
- hadoop安装过程中所遇到的问题
- oracle biee11g安装过程中所遇到的问题
- CDC抓取数据过程中所遇到的问题集合
- liferay过程中使用ajax所遇到的问题
- 开发过程中,所遇到的一部分问题
- 开发QQ互联android版Ane扩展 遇到几个典型问题
- 开发QQ互联android版Ane扩展 遇到几个典型问题
- iOS开发过程中遇到的问题
- QJson的编译和安装--------可行
- linux shell 编程之语法学习
- Android WebView File域同源策略绕过漏洞浅析
- POJ 3233_Matrix Power Series
- Qt添加icon图标(主要用于treeview或tableview的item前)
- 腾讯移动游戏平台SDK(MSDK) ios版Ane扩展 过程中所遇到的问题
- 大数据量高并发的数据库优化
- 收藏的文章
- 为网站加入Drupal星球制作RSS订阅源
- 中国智慧景区联盟今日成立 发布《中国智慧景区九寨沟宣言》
- DBA的技能图谱
- YARN文档概述
- swift初见
- iptables的详细介绍及配置方法