Ubuntu 10からUbuntu 14にアップグレードしたところです。OpenSSLを使用するアプリケーションサーバーを構築しようとすると、リンクエラーが発生するようになりました。これはマルチスレッドサポートに関連する関数、例えばCRYPTO_num_locks()でのみ発生します。これらの関数はまだ/ usr / include / opensslヘッダにありますが、私が持っているライブラリにはないようです。私は経由でインストールしました: libcurl4-openssl-devのapt-getインストール
#define OPENSSL_THREAD_DEFINES
#include <openssl/opensslconf.h>
OPENSSL_THREADSが定義されることになります。これはライブラリがサポートすることを意味しています。
回答:
回答№1は0解決策は、 " - lcrypto"をgccに追加することでした。リンカコマンドライン。私はこれらの関数がある時点でそれら自身のライブラリに移動されたか、あるいは他の何かがリンカにそれらをubuntu 10上で見つけさせていたと思います。これは、ubuntu gccと同じエラーを生成しましたが、libcrypto.soをコマンドラインに追加することを追加提案しています。