0

新しいスレッドを起動し、QNetworkAccessManager でさまざまなネットワーク要求を処理する単純な dll を qt で作成しました。通常の HTTP リクエストでの作業は問題なく動作しますが、代わりに HTTPS を使用しようとすると問題が発生します。

openssl をインストールし、それを使用するように qt を構成しました: -openssl -IC:\OpenSSL\include -LC:\OpenSSL\lib

dll をコンパイルできますが、アプリケーションから dll にアクセスしようとすると、IniterrorSystem.DllNotFoundException が発生します。このエラーは、QSslSocket クラスを使用しようとするとすぐに表示されます。たとえば、変数を開始しようとしているだけです。

QSslSocket ソケット。この開始により、dll が上記のエラーでクラッシュします。

//QSslSocket ソケット; init を削除すると dll は続行されますが、https 要求が機能せず、QNetworkAccessManager からエラー メッセージが表示されません。sslError シグナルに接続しようとしましたが、それも起こりません。

dll「libeay32.dll」、「libssl32.dll」、「ssleay32.dll」をdllと同じフォルダーに配置し、OpenSSLを正常にインストールしました。

誰かが私が見逃しているものを知っていますか?

4

1 に答える 1

0

Visual C ++ランタイムライブラリがインストールされていますか?OpenSSLは、Windowsのmsvcrdllに依存しています。

于 2012-10-19T07:48:04.410 に答える