我有一個簡單的C程序使用libssl。在OS X上使用libssl編譯C程序El Capitan?
在Linux上,我安裝OpenSSL的-dev軟件包,並與下面的行編譯的程序:
gcc test_libssl.c -o test_libssl -lcrypto -lssl
現在我想這樣做我的Mac上。在同一行了:
fatal error: 'openssl/conf.h' file not found
我試圖通過brew install openssl
安裝OpenSSL時(OpenSSL的-dev的沒有工作)與家庭釀造這給了我:
...
==> Installing openssl
==> Downloading https://www.openssl.org/source/openssl-1.0.2a.tar.gz curl: (22) The requested URL returned error: 404 Not Found
我發現了一個related SO question沒有答案。
我也試過
brew info openssl
,結果被告知,
This formula is keg-only. Mac OS X already provides this software and installing another version in parallel can cause all kinds of trouble.
Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries
我有什麼做/安裝,以便能夠編譯在OS X上使用的libssl-C程序的程序?
或者,第一個地方(給出上面的警告)是一個壞主意嗎?
UPDATE:
我OpenSSL的使用BREW安裝。我不確定這是否是問題,但我更新了釀造。 以釀造的建議
You should probably change the ownership and permissions of /usr/local back to your user account. sudo chown -R $(whoami):admin /usr/local
和this問題考慮在內。
然後,以下@Alex雷諾茲的建議,我成功地與
gcc test_libssl.c -o test_libssl -lssl -lcrypto -L/usr/local/opt/openssl/lib -I/usr/local/opt/openssl/include
它爲過時的理由......你應該在你的應用程序創建OSX特定代碼,使用蘋果的框架(像libcrypto).. 。 – Macmade
@Macmade libcrypto是OpenSSL的一部分。沒有直接相同的本地庫;最接近的等價物(這不是很接近)是CommonCrypto。 – duskwuff