如何将 OpenSSL 添加到 Xcode 项目

How to add OpenSSL to an Xcode project

我正在尝试将应用程序移植到 mac OSX。它使用 openssl。我是 xcode 和 mac 开发的新手。我是否需要自己编译和安装 openssl,或者是否有一些等效的 openssl-devel 软件包作为 OS 的一部分或与自制软件或类似软件一起使用?

您需要自己编译并link,并且您的应用需要发布它。如果您的应用程序的许可证和 OpenSSL 的许可证兼容,您可以使用静态 linking。否则你将需要动态 link 它。

有几个文档describing the process and build scripts that you can find with Google searches. For iOS, there's even a Github project。我没有在这里复制那些文件的内容,因为它太多了,而且它是一个移动的目标。

您也可以使用 Homebrew 安装 OpenSSL。如果您只想在 Mac 上安装您的应用程序 运行 而不想分发它,这是最简单的方法:您只需要 link 它。但是,如果您想分发您的应用程序,则需要将 library/libraries 复制到您的应用程序包中,并确保 link 用户可以在那里找到它。这也有一个缺点,即您的应用程序和 OpenSSL 版本之间可能存在 "disconnect":如果在一年内,您使用 Homebrew 更新 OpenSSL 并希望 compile/link 您的应用程序的旧版本针对相同的版本你当时用的OpenSSL版本,你有问题。

  1. openssl source 下载源代码 .
  2. 将压缩文件解压到您选择的目录中。 .
  3. 打开命令行并转到该目录并键入类似于 ./configure darwin64-x86_64-cc 的内容 .
  4. 然后输入 make depend .
  5. 然后make install .
  6. 转到您的 Xcode 项目构建设置。在 Header 搜索路径下添加 /usr/local/ssl/include 和库搜索路径 /usr/local/ssl/lib(或您在配置步骤中选择的任何安装路径) .
  7. 仍在构建设置中转到链接并在其他链接器标志下放置 -lssl -lcrypto

你现在应该可以走了。

我从 2020 年开始今天尝试过

使用自制软件安装 openssl

brew install openssl

这将在

中安装 openssl 版本 1.1d
/usr/local/Cellar/openssl@1.1/1.1.1d/lib/

同时添加 libcrypto.a 和 libssl.a

brew 不会对 link 进行符号化 /usr/local/lib