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