我有一个使用libssl的简单C程序。
在Linux上,我安装了openssl-dev软件包并使用以下行编译了该程序:
gcc test_libssl.c -o test_libssl -lcrypto -lssl
现在我想在我的Mac上做同样的事情。相同的命令行导致了:
fatal error: 'openssl/conf.h' file not found
我试图通过 home-brew 安装 openssl(openssl-dev 无法工作), 命令:brew install openssl
这给了我以下结果:
...
==> 安装 openssl
==> 正在下载 https://www.openssl.org/source/openssl-1.0.2a.tar.gz curl: (22) The requested URL returned error: 404 Not Found
我在 Stack Overflow 上找到一个相关的问题,但没有答案。
我也尝试过其他方法。
brew info openssl
我得知:
这个公式仅适用于桶装软件。 Mac OS X已经提供了这个软件,安装另一个版本可能会引起各种问题。
苹果已经弃用OpenSSL,而是采用自己的TLS和加密库。
为了能够在OS X上编译使用libssl的C程序,我需要做什么或者安装什么呢?
或者,考虑到上面的警告,这本来就是一个坏主意吗?
更新:
我使用brew安装了openssl。我不确定是否存在问题,但我更新了brew。 按照brew的建议
您应该将/usr/local的所有权和权限更改回您的用户帐户。 sudo chown -R $(whoami):admin /usr/local
并考虑此问题。
然后,根据@Alex Reynolds的建议,我成功地进行了编译:
gcc test_libssl.c -o test_libssl -lssl -lcrypto -L/usr/local/opt/openssl/lib -I/usr/local/opt/openssl/include