ios webrtc 编译 xcode7

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',
              ],
            },
          }

你可能感兴趣的:(ios webrtc 编译 xcode7)