赞
踩
这篇文章参考了MacOS 编译 x86_64/arm64 openssl - 知乎
项目里面使用到了openssl的加密,所以需要链接它的库。
需要注意的是,mac打包的程序需要同时兼容intel架构和arm架构,所以依赖的openssl库也要对应生成两份。
我使用的命令如下:
cd openssl
make clean
./Configure darwin64-x86_64-cc --prefix="/Users/luobo/tmp/openssl-x86_64" no-asm
make
make install
make clean
./Configure darwin64-arm64-cc --prefix="/Users/luobo/tmp/openssl-arm64" no-asm
make
make install
lipo -create /Users/luobo/tmp/openssl-arm64/lib/libssl.a /Users/luobo/tmp/openssl-x86_64/lib/libssl.a -output /Users/luobo/tmp/libssl.a
lipo -create /Users/luobo/tmp/openssl-arm64/lib/libcrypto.a /Users/luobo/tmp/openssl-x86_64/lib/libcrypto.a -output /Users/luobo/tmp/libcrypto.a
在/Users/luobo/tmp目录生成了libcrypto.a和libssl.a。
把它们放在xcode工程lib/release目录下。
openssl的头文件放在third_party目录下。
工程里的设置如下:
这样就可以了。
(踩的坑:最开始编译结果输出到了/tmp目录下,这个是系统临时目录,我重启电脑文件没了,所以后面改到了用户home目录)
如果需要编译最低支持macOS10.15的系统,编译时需要加参数
./Configure darwin64-x86_64-cc --prefix="/Users/luobo/tmp/openssl-x86_64" no-asm -mmacosx-version-min=10.15
./Configure darwin64-arm64-cc --prefix="/Users/luobo/tmp/openssl-arm64" no-asm -mmacosx-version-min=10.15
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。