1. 程式人生 > >【快速開發VoIP】(使用Homebrew編譯iOS linPhone SDK)

【快速開發VoIP】(使用Homebrew編譯iOS linPhone SDK)

目錄

前言

VoIP要使用到開源專案linphone,編譯linphone需要安裝依賴庫,官方使用的是Macports,但是這裡我們使用Homebrew來替代。如果未安裝過Homebrew的小夥伴們請檢視【快速開發VoIP】(Homebrew安裝)

安裝依賴庫

[objc] 
  1. brew install coreutils automake autoconf libtool intltool wget pkgconfig cmake yasm nasm doxygen ImageMagick optipng libantlr3c gettext  

在安裝Caveat的時候可能會有個警告:

[objc] 
  1. All commands have been installed with the prefix 'g'.  
  2. If you really need to use these commands with their normal names, you  
  3. can add a "gnubin" directory to your PATH from your bashrc like:  
  4.     PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"

我們來照著說明改一下:

[objc] 
  1. # temporarily add homebrews coreutils to the path
  2. $ export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"

此外,我們想知道剛才安裝的gettext的版本,它預設是不連線的,或許當你安裝完成以後你想連線:

[objc] 
  1. # temporarily link gettext
  2. $ brew link gettext --force  
安裝antlr4

注意:antlr一直在更新,根據自己安裝的版本號來修改 4. $ ln -s 路徑

[objc] 
  1. $ brew install antlr 
  2. # symlink into /usr/local/share/java/ so configure can find it
  3. $ mkdir -p /usr/local/share/java
  4. ln -s /usr/local/Cellar/antlr/4.7.1/antlr-4.7.1-complete.jar /usr/local/share/java/antlr4.jar
安裝gas-preprosessor.pl
[objc] 
  1. wget --no-check-certificate https://raw.github.com/yuvi/gas-preprocessor/master/gas-preprocessor.pl
  2. $sudo mv gas-preprocessor.pl /usr/local/bin/
  3. chmod +x /usr/local/bin/gas-preprocessor.pl
連結libtoolize到glibtoolize
[objc] 
  1. sudo ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize
連結host strings到模擬器sdk
[objc] 
  1. sudo ln -s /usr/bin/strings /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings
連結/opt/local.bin to /usr/local/bin
[objc] 
  1. sudo ln - /opt/local/bin /usr/local/bin

編輯SDK

得到原始碼

[objc] 
  1. git clone git://git.linphone.org/linphone-iphone.git --recursive

下載原始碼的過程中可能會出現以下錯誤:

[objc] 
  1. could not create work tree dir'linphone-iphone':Permission denied  

需要做以下修改:

[objc] 
  1. cd ~/
  2. mkdir code 
  3. $ cd code
  4. git clone git://git.linphone.org/linphone-iphone.git --recursive

設定SDK版本

找出哪個版本的sdk是你可以使用的:

[objc] 
  1. ls /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk

對我來說,11.1是可以用的。然後編輯inphone-iphone/submodules/build/iphone-config.site進行設定:

[objc] 
  1. ls /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk
編輯
[objc] 
  1. cd linphone-iphone/submodules/build
  2. make all 

---