最近osx环境无意间升级了所有的包,并把xcode升级到了9。按部就班的继续编译之前可以正常编译的webrtc,后来不料,除了这么一个错误:
error: nullability specifier ‘_Nullable’ cannot be applied to non-pointer type ‘uuid_t’ (aka ‘unsigned char [16]’)
东查西查。最后就查到了之前的猜测,这里有解释:
https://forums.xamarin.com/discussion/103773/will-there-be-support-for-ios-11-sdk
因为xcode自带的是ios sdk 11的。就目前来说,这一点比较坑人,因为ios sdk 11的库和ios sdk 10的库在部分函数上的定义上有所区别。
而webrtc和相应的depot_tools也是今年年初的,因此使用的第三方clang编译器也相对xcode 9的步调来说老了一些。
为了不想增加麻烦,也就不打算用gclient了,因为当时不是我去拿的webrtc代码,也不知道会不会有坑。就果断把xcode降级为xcode 8。
xcode 8的下载地址:
https://developer.apple.com/download/more/
降级的方法:
http://osxdaily.com/2012/02/20/uninstall-xcode/
看来用第三方编译器也是让人比较头疼的一件事情。有时候ios上遇到的坑不比android少。。。