ios编译openssl指南

首先,openssl支持ios编译,这是毫无疑问的
ios上的编译也无外乎configure make make install模式,但是有一些不同
比如
  1. ./Configure iphoneos-cross --openssldir="${cur_output}"
configure要用Configure命令,传递交叉参数iphoneos-cross, openssldir为安装目录
之后调用此句
  1. 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编译的平台参数呢

  1. export CROSS_TOP=${cur_cross_top}
  2. export CROSS_SDK=${cur_cross_sdk}
  3. export CC=${cur_cc}
注意上面三个可以变量,必须导出,Makefile文件中有引用这三个变量
CROSS_TOP变量类似
  1. /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer
这样子

CROSS_SDK变量类似
  1. iPhoneOS8.1.sdk
这样子

而CC变量大概为
  1. /Applications/Xcode.app/Contents/Developer/usr/lib/gcc -arch armv7
这样子的

本次实验环境为MacOS10.10 xcode 6.1环境






郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。