ios webrtc 编译 xcode7

本文介绍如何在Xcode7环境下成功编译Webrtc,并解决了因编译器升级导致的问题,例如编译脚本指定使用clang编译器及解决无法识别Objective-C新特性等错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

export GYP_DEFINES="OS=ios target_arch=arm"
export GYP_GENERATOR_FLAGS="output_dir=out_ios"
webrtc/build/gyp_webrtc  -Dclang_xcode=1
ninja -C out_ios/Debug-iphoneos AppRTCDemo

付:



在xcode7下编译最新版本的webrc应该是没有问题的,因为谷歌对webrtc进行了针对xcode7,iossdk9的更新。

这种由于xcode升级导致的编译错误,解决思路就是去参考最新版本webrtc中的修改办法。

如果是使用webrtc自带的编译器容易出现错误,如无法识别objective-c语法新引入的特性nullable关键字,那你可以在生成编译脚本时指定使用系统自带的clang编译器:

webrtc/build/gyp_webrtc  -Dclang_xcode=1

如果你打算编译xcode7推出之前的webrtc版本可能遇到以下问题:

no such file or directory: ‘/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/usr/lib/libicucore.dylib’

no such file or directory: ‘/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/usr/lib/libsqlite3.dylib’

本文在xcode7下编译webrtc版本m43

编译AppRTCDemo时报错无法找到libsqlite3.dylib,libicucore.dylib

分别修改sqlite.gyp中

              'link_settings': {
                'libraries': [
                  '$(SDKROOT)/usr/lib/libsqlite3.dylib',
                ],
              },

改为:

'link_settings': {
'xcode_settings': {
'OTHER_LDFLAGS': [
'-lsqlite3',
 ],
 },
},

talk/libjingle_example.gyp中的

'link_settings': {
'xcode_settings': {
 'OTHER_LDFLAGS': [
 '-framework CFNetwork',
 ],
            },
            'libraries': [
              '$(SDKROOT)/usr/lib/libicucore.dylib',
            ],
          }

改为:

'link_settings': {
            'xcode_settings': {
              'OTHER_LDFLAGS': [
                '-framework CFNetwork',
         '-licucore',
              ],
            },
          }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值