解决华为eSpace SDK那些让人头疼编译错误

集成华为的eSpace SDK 时,编译华为提供的demo程序,SDK里面有三个文件编译报错:
DBContact.h
CircleInviteDataModel.h
CircleInviteDataModel.mm

1.其中DBContact.h中有个static方法报错,搜索了一下,发现没有其他地方引用此方法,既然这样,那就直接注释掉这个方法
2.至于CircleInviteDataModel.mm这个文件,里面更是一堆莫名其妙的代码,简单看了一下,里面大多是非ARC时期的代码,还有些变量名、类型名没有声明,华为工程师建议直接删除这个文件,这样一来就简单干脆,直接删除这个文件。既然.mm文件删了,.h文件也没有存在的意义了,所以把CircleInviteDataModel.h一起删除。
如此,解决编译错误,但是接下来,出现了167个链接错误,如下所示:

ld: warning: directory not found for option '-L/Users/wanghu/Desktop/eSpaceSDK/UC_API_IT_Demo/Depend/eSDK/Release-iphoneos'
ld: warning: directory not found for option '-L/Users/wanghu/Desktop/eSpaceSDK/UC_API_IT_Demo/Depend/eSDK/Debug-iphonesimulator'
ld: warning: directory not found for option '-L/Users/l00206777/Documents/workspace/V200R003C00_20150210S(SDK)/eSpaceIOSSDK/Build/Debug-iphoneos'
ld: warning: directory not found for option '-L/Users/l00206777/Documents/workspace/eSpaceSDKlib_iphone/Release-iphoneos'
ld: warning: directory not found for option '-L/Users/l00206777/Documents/workspace/eSpaceSDKlib_iphoneTR6/eSpaceSDKlib_iphone/Release-iphoneos'
ld: warning: ignoring file /Users/wanghu/Desktop/eSpaceSDK/UC_API_IT_Demo/eSpaceSDKlib_iphone/Release-iphoneos/libeSpaceIOSSDK.a, file was built for archive which is not the architecture being linked (i386): /Users/wanghu/Desktop/eSpaceSDK/UC_API_IT_Demo/eSpaceSDKlib_iphone/Release-iphoneos/libeSpaceIOSSDK.a
Undefined symbols for architecture i386:
  "_AMR_EXTENTION", referenced from:
14444590898694.jpg

把链接器的错误信息翻来覆去的看,无非原因是相关的库没导入,或者指令体系结构不正确,但是按照要求改了多次依然无效,最后无意间搜索了一下ld:warning:ignoring file这行警告信息,根据提示,修改了编译选项:Build Settings->Build Options->Enable BitCode->NO 设置以后,又根据网上搜索到的答案:

可能原因二:正如这个错误提示所指出的那样,缺少了i386架构的东西。这很可能是由于项目中包含的静态库是被编译用于真机测试的,大家都知道苹果手机cpu是arm架构,而mac笔记本(当然也包括运行于其上的iphone-simulator)是intel架构。所以当这个静态库被编译用于device的时候,在目标为simulator下的编译是会报错的。 
解决方法一:
直接真机调试。 
解决方法二:
重新为simulator编译静态库,然后有一个更高端的解决办法,就是将两种架构的静态库合并:

果断连上真机,问题成功解决。看来解决有些问题真是靠经验,光看错误信息表面看不出什么来。感谢那位提供答案的网友的热心分享。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,270评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,359评论 19 139
  • (原文:How to Create a Framework for iOS 作者:Sam Davies 译者:Mr...
    王宪岭阅读 10,382评论 3 23
  • 【转载】曾梦想仗剑走天涯 1.Xcode IDE概览 说明:从左到右,依次是“导航窗格(Navigator)->边...
    06a6a973d7ab阅读 9,316评论 2 20
  • 这里所说的爱并不单指爱情,这里所说的陪伴也并不一定要在身旁。 不管是合群还是喜欢离群索居的人,其实都是需要陪伴的。...
    繁花落尽深眸阅读 5,717评论 18 16