gccを使ってmacOSでOpenSSLライブラリをリンクする方法は?

gccを使ってmacOSでOpenSSLライブラリをリンクする方法は?

Homebrewパッケージマネージャを介してOpenSSLをインストールしました。必要なライブラリとヘッダファイルが見つかりました。

タイトルは次のとおりです

/usr/local/Cellar/openssl/1.0.2h_1/include/openssl
/usr/local/Cellar/openssl/1.0.2j/include/openssl
/usr/local/Cellar/openssl/1.0.2k/include/openssl

ライブラリファイルは次のとおりです。

/usr/lib/libssl.0.9.7.dylib
/usr/lib/libssl.0.9.8.dylib
/usr/lib/libssl.dylib

gccOpenSSLライブラリへの接続を試みるために、以下を含むいくつかのコマンドを試しました。

gcc md5.c -I/usr/local/Cellar/openssl/1.0.2k/include -lssl
gcc md5.c -I/usr/local/Cellar/openssl/1.0.2k/include -llibssl
gcc md5.c -I/usr/local/Cellar/openssl/1.0.2k/include -llibssl.dylib
gcc md5.c -I/usr/local/Cellar/openssl/1.0.2k/include -llibssl.0.9.8
gcc md5.c -I/usr/local/Cellar/openssl/1.0.2k/include -llibssl.0.9.8.dylib

これらはすべて「ファイルが見つかりません」エラーまたはリンカエラーを生成します。

これを行う正しい方法は何ですか?

答え1

ホームブリッジライブラリではなく、オペレーティングシステムでインストールされているopensslライブラリに接続したいようです。 homebrewが1.0.2kライブラリをインストールした場所を見つけてください。

find /usr/local/Cellar/ -name "libssl.*"

/usr/local/Cellar/_path_of some_sort/libssl.aのようなものを見つける必要があります。 /usr/libにあるライブラリの代わりにこのライブラリにリンクしてみてください。 / usr / libライブラリは古く、使用中のヘッダーファイルと互換性がありません。

gcc md5.c -I/usr/local/Cellar/openssl/1.0.2k/include -L/usr/local/Cellar/path_of_some_sort/ -lssl -lcrypto -o md5

関連情報