問題タブ [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.
c++ - crypto++ cryptopp.dll の遅延ロード
Crypto++ ライブラリは、cryptlib.lib
およびに対してコンパイルすることにより、遅延バインディングをサポートしcryptopp.lib
ます。これには、 を使用する必要がありますcryptopp.dll
。これにより、この dll を遅延ロードしようとすると/DELAYLOAD:cryptopp.dll
、必要なインポートのために遅延ロードできなかったというリンク エラーが発生します。
例として、次のコードを参照してください。
これにより、次のリンク エラーが発生します。
ロードの遅延にcryptopp.dll
成功した人はいますか?
c++ - C++ コードでの C ライブラリの遅延ロード
現在、ffmpeg ライブラリ (C) を C++ プロジェクトにロードしようとしています。ライブラリは、ヘッダー、.lib ファイル、および .dll ファイルで構成されており、すべて正常に読み込んで使用できました。ただし、私たちのプロジェクトでは、これらの dll ファイルを遅延してロードすることが強く望まれています。
要約すると、次のようになります。
- ライブラリの dll 関数を参照せずにプロジェクトをビルドすると、正しく実行され、明示的に DLL ハンドルを取得している場所にすべての dll が正しくロードされていることが (ログで) わかります。
- プロジェクトをビルドして dll への関数呼び出しを含めると、'xx.dll' がないため、単純な実行可能ファイルのロードに失敗します。これは、関数呼び出しが行われる前です。IE: コードで dll 関数を呼び出すだけで、プログラムが起動時にそれを読み込もうとしているようです。
- プログラムの実行可能ファイルの横に dll を手動で追加すると、両方のシナリオで正常に動作しますが、実行可能ファイルの横に dll を配置することは望ましくありません。
私が行方不明または間違っていることは明らかですか?
ありがとう!