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
私はOpenSSLライブラリをリンクするためにいくつかのgcc
コマンドを試しました。
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
それらのすべては、「ファイルが見つかりません」エラーまたはリンカーエラーを生成します。
これを行う適切な方法は何ですか?
自作ライブラリではなく、OSとともにインストールされた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