標籤:
首先,openssl支援ios編譯,這是毫無疑問的ios上的編譯也無外乎configure make make install模式,但是有一些不同比如
./Configure iphoneos-cross --openssldir="${cur_output}"
configure要用Configure命令,傳遞交叉參數iphoneos-cross, openssldir為安裝目錄之後調用此句
sed -ie "s!^CFLAG=!CFLAG=-miphoneos-version-min=7.0 !" "Makefile"
在上一步產生的Makefile檔案中修改CFLAG參數,加上-miphoneos-version-min=7.0指定目標最小版本,我實驗的結果為如果不加這句,最後連結時候會出錯,大概意思是我覺得您要編譯在mac上跑的東東,但是現在我要串連的是為i386CPU準備的,我暈了之類的。
接下裡是make我們知道ios分為很多平台,而在ios上,可以把多個平台的檔案用lipo打成一個包,那麼怎麼控制此次openssl編譯的平台參數呢
export CROSS_TOP=${cur_cross_top}
export CROSS_SDK=${cur_cross_sdk}
export CC=${cur_cc}
注意上面三個可以變數,必須匯出,Makefile檔案中有引用這三個變數CROSS_TOP變數類似
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer
這樣子
CROSS_SDK變數類似
iPhoneOS8.1.sdk
這樣子
而CC變數大概為
/Applications/Xcode.app/Contents/Developer/usr/lib/gcc -arch armv7
這樣子的
本次實驗環境為MacOS10.10 xcode 6.1環境
來自為知筆記(Wiz)
ios編譯openssl指南