如何为特定部署 macOS 版本编译 OpenSSL 库?
Posted
技术标签:
【中文标题】如何为特定部署 macOS 版本编译 OpenSSL 库?【英文标题】:How to compile OpenSSL libraries for specific deployment macOS version? 【发布时间】:2020-07-23 00:26:25 【问题描述】:我正在 macOS 10.15 上编译 OpenSSL 库,但我的应用程序部署目标(使用这些 OpenSSL 库)是 10.12。 因此,当我将这些库与我的应用程序链接时,我会收到多个类似这样的错误:
ld: warning: object file (.../libcrypto.a) was built for newer OXS version (10.15) than being linked (10.12)
问题是: 如何编译 OpenSSL 以与特定部署目标链接(在我的情况下是 10.12)?
在编译 OpenSSL 时,我尝试这样配置它:
$ ./configure darwin64-x86_64-cc --prefix=/Users/username/openssl --openssldir=/Users/username/openssl/ssl -mmacosx-version-min=10.12
但这无济于事。
【问题讨论】:
【参考方案1】:好的,我没有执行命令:
$ make distclean
在我之前的编译结束时。
所以,它应该是这样的:
$ ./configure darwin64-x86_64-cc --prefix=/Users/username/openssl --openssldir=/Users/username/openssl/ssl -mmacosx-version-min=10.12
$ make depend
$ make install
$ make distclean
然后所有临时文件都将被删除,下一次修改后的编译将起作用。
【讨论】:
以上是关于如何为特定部署 macOS 版本编译 OpenSSL 库?的主要内容,如果未能解决你的问题,请参考以下文章
Azure Pipelines 如何为“仅限手动”触发的版本筛选每个阶段的工件