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