openssl 打包使用
下载源文件
注:建议使用tag里面较新的正常版本,我这里用的是 OpenSSL_1_1_0-pre5
https://github.com/openssl/openssl
- 将下载文件放在了桌面,方便使用,前往文件夹
cd /Users/juyiwei/Desktop/openssl-OpenSSL_1_1_0-pre5
- 新建几个用于存放不同指令包的文件夹
mkdir openssl_arm64 openssl_armv7 openssl_armv7s openssl_i386
循环使用下面步骤生成包
- 配置文件夹 注:选择一个,下面对应修改,只是指令不同 注2:表示 i386的模拟器版本一直不成功,还指望会的同学教一下!
./configure BSD-generic32 --openssldir=/Users/juyiwei/Desktop/openssl-OpenSSL_1_1_0-pre5/openssl_arm64
./configure BSD-generic32 --openssldir=/Users/juyiwei/Desktop/openssl-OpenSSL_1_1_0-pre5/openssl_armv7
./configure BSD-generic32 --openssldir=/Users/juyiwei/Desktop/openssl-OpenSSL_1_1_0-pre5/openssl_armv7s
./configure BSD-generic32 --openssldir=/Users/juyiwei/Desktop/openssl-OpenSSL_1_1_0-pre5/openssl_i386
// 成功提示 make[1]: Nothing to be done for `generate'.
- 修改编译使用的gcc:打开Makefile 文件
替换文件中的 CC=gcc:将 gcc 替换成
/Applications/Xcode.app/Contents/Developer/usr/bin/gcc -arch arm64
/Applications/Xcode.app/Contents/Developer/usr/bin/gcc -arch armv7
/Applications/Xcode.app/Contents/Developer/usr/bin/gcc -arch armv7s
/Applications/Xcode.app/Contents/Developer/usr/bin/gcc -arch i386
注:是自己本地电脑的 gcc,并且附带指定指令集
- 添加指定SDK CFLAG= (也就是 CC=的下一行) 在其末尾添加下面内容 注:1_0_2是 -Wall
// 模拟器版本
-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk
// 真机版本
-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
- 编译
make
// 编译成功会提示 make[1]: Nothing to be done for `all'.
make install
// 编译成功之后,在之前创建的 arm64 文件夹下生成完整的文件(lib中有2个.a文件,include中包含头文件)
// 建议将arm64 文件夹整体拖走
make clean
// 清空编译内容,在开始循环内容编译 armv7,armv7s,i386