2016-10-03 21 views
0

我想在Mac上使用C代碼(el capitan),並且需要使用OPENSSL。 操作系統附帶version 0.9.8zh 14 Jan 2016.OpenSSL沒有被鏈接到自制軟件

我用自制軟件升級和安裝openssl(得到版本1.0.2h),但我無法正確地鏈接它使用它。我面臨與此問題中提到的相同的問題:Homebrew refusing to link OpenSSL

似乎上述問題的答案是無效的,因爲某些更新在brew中無效。

我的路徑引用/usr/local/bin作爲第一個。

然此命令:ln -s /usr/local/Cellar/openssl/1.0.2j/include/openssl /usr/local/include/openssl (發現這個解決方案在這裏:在其他地方https://medium.com/@zlwaterfield/openssl-with-el-capitan-456bf68bf43a#.f9tkjeo7w

有沒有錯誤輸出,所以我認爲這個工作。但..

which openssl給了我這樣的輸出:/usr/local/bin/openssl

openssl version給了我這樣的輸出:OpenSSL 0.9.8zh 14 Jan 2016

對如何進行任何想法?

@jww我不確定你的意思是「構建你的東西​​」。我不是程序員,因此不能真正理解詞彙。只是想學習一些東西。

我跑

brew update

brew install openssl

brew link --force openssl

這給了我錯誤說

Warning: Refusing to link: openssl

爲了簡潔,我沒有寫這個,而是我提供了問題鏈接,它顯示了我正面臨的問題。 Coz早些時候,我被告知我沒有足夠簡短的形成que。

此外,害得我這條道路,我對CLI運行該命令是這樣的(如果這能幫助):

openssl dgst -sha256 -sign ec-priv.pem ex-message.txt >ex-signature.der

給我一個錯誤:

EVP_SignFinal:wrong public key type

谷歌搜索導致我瞭解其需要更新的舊版openssl版本的優點。這回答了你的問題了嗎?

+0

您想使用OpenSSL的狀態。如果基於Autoconf,顯示如何配置項目。顯示你的編譯器和鏈接器命令。另請參閱[Brew拒絕鏈接openssl](http://stackoverflow.com/q/38670295),[在OS X上使用Homebrew更新OpenSSL](http://stackoverflow.com/q/15185661),[如何安裝最新版本的OpenSSL Mac OS X El Capitan](http://stackoverflow.com/q/35129977),[如何在OS X中升級OpenSSL?](http://apple.stackexchange.com/q/126830), [使用HomeBrew安裝Openssl失敗](http://superuser.com/q/486389)等。 – jww

+0

謝謝@jww:已經看到了這些問題。 openssl位於何處:'/ usr/local/Cellar/openssl/1.0.2j'。沒有像這樣的項目。只需用'vi'編寫簡單的C代碼,使用'gcc'編譯,使用'CLI'命令進行測試。 –

+0

謝謝@Tuhina。我投票結束,因爲你不會提供你用來建立你的東西的命令。如果你所要的只是如何將'openssl'放在路徑上,那麼你應該問一個合適的網站,例如[Super User](http://superuser.com/)或[Apple Stack Exchange](http:// apple.stackexchange.com/)。 – jww

回答

0

因此,連接openssl的問題如下解決: 我只需關閉舊的shell窗口並運行新的shell窗口來運行命令openssl version,它向我展示了正確的新版本。基本上,顯式鏈接與我在問題中提到的命令一起工作。