C++ を使用して openssl をパッケージ化してみます。最初に静的ライブラリ libtest.a を作成します。 -lssl -lcrytpo -lpthread に依存します。
ディレクトリ構造:
2 つのテスト ファイルがあります: client.cpp、server.cpp
実行可能プログラムのコンパイルに使用されるコマンドは次のとおりです:
g++ -g -o2 -fpic client.cpp -I../include -L ../lib -ltest -shared -u -lssl -lcrypto -lpthread -o client
コンパイルは成功しました。
実行エラー。gdb デバッグにより、main 関数が開始される前にクラッシュしたことがわかりました。
補足: 主要な関数コードをすべてコメント化すると、上記のコンパイルは機能しません。コンパイル時に -shared パラメータを削除すると、プログラムは正常に終了します。
静的ライブラリをコンパイルするために書いたコードに問題があります。