web-dev-qa-db-ja.com

SSL_library_initおよびSSL_load_error_stringsへの未定義の参照

OpenSSLコードを実装していて、必要なヘッダーファイルがすでに含まれていますが、それでも*のようなエラーが発生します。

SSL_library_initへの未定義の参照

コンパイルエラーではなく、リンクエラーだと思います。

私はslickeditorを使用してLinuxボックスに実装しています。

14
samprat

libsslおよびlibcryptoに対してリンクします。 LDFLAGSLDLIBSは次のようになります。 LDLIBSの注文事項:

LDFLAGS = -L/usr/local/ssl/lib
LDLIBS = -lssl -lcrypto

ライブラリ名の前に「lib」を追加したり、「so」または「a」サフィックスを追加したりする必要はありません。リンカがそれを行います。

コマンドラインからビルドする場合は、以下を使用します。ここでも、順序が重要です。

gcc foo.c -o foo.exe -L/usr/local/ssl/lib -lssl -lcrypto

システムのOpenSSLを使用している場合は、-L/usr/local/ssl/libを省略できます。

14
jww

私にとってこれはインストールすることを意味しました

 apt install libssl1.0-dev
4
rogerdpack

ldd libssl.so-> libcrypto.so.1.1 =>が見つかりません

Sudo ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

libcrypto.so.1.1 => /lib64/libcrypto.so.1.1(0x00007f17d46c7000)

0