编译 iOS 平台使用的openssl库
编译 iOS 平台使用的openssl库
诚实的钟 发表于11个月前
编译 iOS 平台使用的openssl库
  • 发表于 11个月前
  • 阅读 18
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云实验室 1小时搭建人工智能应用,让技术更容易入门 免费体验 >>>   

概要说明

openssl 是一个 c 语言库。

openssl 官方地址:https://www.openssl.org

openssl 源码地址:https://github.com/openssl/openssl

 

下载源码,然后编译源码,网上资料比较多,自己测试下载最新源码后发现会报一些错误。

自己不想费时间解决,直接找到了下面这种方式:

https://github.com/x2on/OpenSSL-for-iPhone

直接看作者说明,编译作者试过支持的版本就行。自己测试编译版本是 1.0.2i ,编译成功了。

 

另外,直接编译最新版1.1.0c,终端执行报错,报的错和自己手动编译源码是一样的错误,估计有些配置不正确。

 

1 编译静态库

下面针对 https://github.com/x2on/OpenSSL-for-iPhone 这种方式,要注意的地方做些整理:

关键步骤说明:

  1. 下载作者源码库,重点参看脚本 build-libssl.sh
  2. 打开脚本,配置参数,里面有DEFAULTVERSION:默认openssl版本、IOS_MIN_SDK_VERSION:iOS支持最小版本、ARCHS:CPU架构(只需要编译iOS平台可以指定为:"x86_64 arm64 armv7s armv7",i386 是32位模拟器,可以不考虑)、还有一些其他参数可以参考。
  3. 脚本执行完毕后,会依次生成对应架构的静态库.a文件。需要使用 lipo 命令将多个.a 文件合并成一个文件,方便使用。

补充:lipo合并.a文件的命令参考:

lipo -create Release-iphoneos/libzbar.a Release-iphonesimulator/libzbar.a -o libzbar.a

 

2 加入openssl库到xcode项目

将编译好的 include目录下的头文件和合并后的.a 文件加入到工程中。(类似大多数第三方库一样)

如果编译报错,找不到 <openssl/opensslconf.h> 文件,需要在xcode 工程配置下设置 Head Search选项中头文件的搜索路径,改一下即可。

 

进阶:

对于openssl里面的常见加密算法的加解密 API 的使用,还有待进一步学习和研究

 

 

 

 

 

共有 人打赏支持
粉丝 2
博文 14
码字总数 10885
×
诚实的钟
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: