在Mac上爲iOS交叉編譯osip2和eXosip2

寫在最前面:ios

若是沒有必須選擇eXosip的理由,那麼它毫不應該是你的第一選擇,本人更傾向於Pjsip,不管是架構,仍是其詳實的文檔支持,亦或是多個開源參考實例,都能讓你更快的學習運用它。架構

-----------------------------------------------------------------------------------------------------app

首先打開終端,進入osip2或者eXoisp的根目錄,而後進行詳細配置以生成makefile。學習

具體的參數,能夠經過$ ./configure --help 查看「詳細」說明google

iPhone模擬器:spa

1.osip2code

./configure CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang CFLAGS="-O2 -m32 -mios-simulator-version-min=5.0 -DPJ_SDK_NAME="\"iPhoneSimulator7.1.sdk\"" -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk" --host=arm-apple-darwin9 --target=arm-apple-darwin9 --prefix=/Users/noone/Documents/siplibs/i386orm


2.eXosip2ip

$./configure CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang CFLAGS="-O2 -m32 -mios-simulator-version-min=5.0 -DPJ_SDK_NAME="\"iPhoneSimulator7.1.sdk\"" -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk" LDFLAGS=" -framework MobileCoreServices -framework CFNetwork -framework CoreFoundation" --disable-openssl --host=arm-apple-darwin9 --target=arm-apple-darwin9 --prefix=/Users/noone/Documents/siplibs/i386ssl


iPhone真機:

1.osip2

./configure CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang CFLAGS="-DPJ_SDK_NAME="\"iPhoneOS7.1.sdk\"" -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk" --host=arm-apple-darwin9 --target=arm-apple-darwin9 --prefix=/Users/noone/Documents/siplibs/arm


二、eXosip2

./configure CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang CFLAGS="-DPJ_SDK_NAME="\"iPhoneOS7.1.sdk\"" -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk" LDFLAGS=" -framework MobileCoreServices -framework CFNetwork -framework CoreFoundation" --disable-openssl --host=arm-apple-darwin9 --target=arm-apple-darwin9 --prefix=/Users/noone/Documents/siplibs/arm

開始編譯:

通過上面的配置,生成make文件後,在執行:

$ make

$ make install

 就能夠在--prefix指定的輸出目錄找到編譯好的庫文件。

合併:

通過前面的工做會分別生成適合模擬器和真機的2種庫,經過下面的命令能夠進行合併,更多細節請google。

lipo -create /Users/noone/Desktop/arm/lib/libeXosip2.a /Users/noone/Desktop/i386/lib/libeXosip2.a -output /Users/noone/Desktop/libs/libeXosip2_for_ios.a

最後:

在引入項目的時候注意:在引入前面指定的framework的同時,還須要引入「libresolv.9.dylib」這個eXosip的依賴庫,方可編譯經過。

相關文章
相關標籤/搜索