最近在升级产品的时候,需要更新openssl3.4.0中的libcrypto.3.dylib文件,在官网下载了最新的openssl,进行编译。编译成功后,导入XCode工程,编译时出现如下错误:
libcrypto.3.dylib: found architecture 'arm64', required architecture 'x86_64'
解决方法:
一. 常规编译openssl时,得到的是arm64架构
如下图红框所示,darwin64-arm64
./configure
二. 查看openssl3.4.0支持哪些架构:
1. 在Terminal执行以下命令:
cd path for openssl3.4.0
./configure compile
出现支持的架构汇总
从上述选项可以找到 darwin64-x86_64-cc ,只要支持这个架构,就可以编译支持这个架构的库
(在Mac OS选择 darwin64-x86_64-cc 或 darwin64-arm64-cc)
3. 编译x86_64版本
./Configure darwin64-x86_64-cc --prefix="./build_x86_64" shared
注意: shared 表示配置项确保编译动态链接库(dylib),否则最后得到的是静态库(.a)文件。zlib选项启用对zlib的支持
make
make install