問題タブ [delay-load]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
391 参照

c++ - crypto++ cryptopp.dll の遅延ロード

Crypto++ ライブラリは、cryptlib.libおよびに対してコンパイルすることにより、遅延バインディングをサポートしcryptopp.libます。これには、 を使用する必要がありますcryptopp.dll。これにより、この dll を遅延ロードしようとすると/DELAYLOAD:cryptopp.dll、必要なインポートのために遅延ロードできなかったというリンク エラーが発生します。

例として、次のコードを参照してください。

これにより、次のリンク エラーが発生します。

ロードの遅延にcryptopp.dll成功した人はいますか?

0 投票する
0 に答える
167 参照

c++ - C++ コードでの C ライブラリの遅延ロード

現在、ffmpeg ライブラリ (C) を C++ プロジェクトにロードしようとしています。ライブラリは、ヘッダー、.lib ファイル、および .dll ファイルで構成されており、すべて正常に読み込んで使用できました。ただし、私たちのプロジェクトでは、これらの dll ファイルを遅延してロードすることが強く望まれています。

要約すると、次のようになります。

  • ライブラリの dll 関数を参照せずにプロジェクトをビルドすると、正しく実行され、明示的に DLL ハンドルを取得している場所にすべての dll が正しくロードされていることが (ログで) わかります。
  • プロジェクトをビルドして dll への関数呼び出しを含めると、'xx.dll' がないため、単純な実行可能ファイルのロードに失敗します。これは、関数呼び出しが行われる前です。IE: コードで dll 関数を呼び出すだけで、プログラムが起動時にそれを読み込もうとしているようです。
    • プログラムの実行可能ファイルの横に dll を手動で追加すると、両方のシナリオで正常に動作しますが、実行可能ファイルの横に dll を配置することは望ましくありません。

私が行方不明または間違っていることは明らかですか?

ありがとう!