前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Xcode编译TXLiteAVSDK报错解决方法

Xcode编译TXLiteAVSDK报错解决方法

原创
作者头像
腾讯视频云-Zachary
修改2019-09-06 13:07:32
5.6K0
修改2019-09-06 13:07:32
举报

一、问题场景

在Xcode上运行腾讯云Demo或者开发者自己的项目,编译过程中有时会报错。最常见的是两种:

  • 找不到SDK头文件(以下解决方法1)
  • 链接错误报错信息显示linker command failed with exit code 1 (use -v to see invocation)

二、解决方案

场景1

找不到SDK头文件。如下图所示,报错信息显示xxx file not found一般就是该错误。

not found错误
not found错误

解决方法:

  • 如果是运行腾讯云Demo,注意编译的target设置正确。比如下载的TXLiteAVSDK_Professional.framework,编译的target就是TXLiteAVDemo_Professional。
  • 如果是开发者自己的工程,注意检查Build Settings->Search Paths->User Header Search Paths中添加头文件搜索路径是否正确。

场景2

缺少SDK需要的系统依赖库。如下图所示,报错信息显示undefined symbols一般就是该错误。

undefined symbols错误
undefined symbols错误

解决方法:

参考文档添加所有需要加入的依赖库:https://cloud.tencent.com/document/product/454/7876#2.E3.80.81.E6.B7.BB.E5.8A.A0framework

场景3

Xcode工程Other linker flags设置错误。如下图所示,报错信息显示duplicate symbol一般就是该错误。

duplicate symbol错误
duplicate symbol错误

解决方法:

Other linker flags需要设置成-ObjC,不能有-all_load-force_load

场景4

Xcode工程编译SDK报 duplicate symbols 错误,冲突的符合为bcm.o和rsa.o。

DeadCode错误
DeadCode错误

解决方法:

Xcode工程配置 Build Settings 下 Dead Code Stripping 需要设置成YES。

场景5

Xcode工程 bitcode 设置错误。如下图所示,报错信息显示dose not contain bitcode一般就是该错误。

bitcode错误
bitcode错误

解决方法:

注意iOS端 TXLiteAVSDK 精简版之外,其它版本都是不支持bitcode的,需要设置为NO才能成功运行和打包。

三、原理解释

iOS开发目前的常用语言是Objective CSwift,二者的编译都是依赖于Clang + LLVM。简单来说编译的过程如下:

代码语言:txt
复制
编译器配置->标准库与头文件确认->确定依赖关系->头文件的预编译->预处理->生成中间代码->生成汇编代码->生成机器码->链接->成可执行文件

所以如果遇到找不到头文件,缺少依赖库,重复定义了类和方法,或是编译器配置不当等情况下,都会产生编译报错。

四、参考资料

  1. 编译详细过程及原理参考:https://blog.csdn.net/Hello_Hwc/article/details/53557308
  2. 编译器的工作过程:http://www.ruanyifeng.com/blog/2014/11/compiler.html
  3. other linker flags参数的作用参考:https://blog.csdn.net/iosfengguibin/article/details/52086435

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、问题场景
  • 二、解决方案
  • 三、原理解释
  • 四、参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档