C++ - main 関数が実行される前にセグメンテーション違反が発生し、gdb はデバッグできません。これはおそらく g++ のコンパイル パラメータに関連しています。
仅有的幸福
仅有的幸福 2017-05-16 13:23:33
0
1
620

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 パラメータを削除すると、プログラムは正常に終了します。

仅有的幸福
仅有的幸福

全員に返信(1)
Peter_Zhu

静的ライブラリをコンパイルするために書いたコードに問題があります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート