Visual C++ 2008 Express Edition を使用。.lib
アプリケーションを、ターゲット システムに存在する場合と存在しない場合がある DLLのインポート ライブラリ ( ) にリンクしています。質問する前に: アプリケーションと一緒に DLL を配布できません。
DLL が存在しない場合、DLL から関数を呼び出すとすぐに (ただしすぐには!)、次のようなメッセージが表示されます。
SomeLibrary.dll が見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションを再インストールすると、この問題が解決する場合があります。
代わりに、アプリケーションが DLL が存在しないことを検出し、DLL に依存する機能を単に無効にすることを望んでいます。を呼び出してLoadLibrary
、成功したかどうかを確認できましたが、これで十分かどうかはわかりません。たぶん、インポート ライブラリは舞台裏でより多くの作業を行っているのでしょうか?
簡単なLoadLibrary
電話で十分ですか?そうでない場合、他に何をする必要がありますか? これもできますか?
更新: もちろんLoadLibrary
、を使用して、GetProcAddress
使用したい機能ごとに使用できます。しかし、それは面倒です。私はそれを避けて、代わりに提供されたインポート ライブラリを使用することを望んでいました。