私のWindowsC++プログラムでは、DLLにいくつかの依存関係があります(入力デバイスのドライバーが付属しています)。私は実際にDLLを自分でロードしませんが、ドライバーは静的にリンクする(小さな).libライブラリを提供します(そして、DLLがシステムに存在することを確認し、それらをロードするのはそれらのライブラリであると思います)。一連のビデオカメラから入力を受け取ることができるアプリケーションを書いています。実行時に、ユーザーはどちらを使用するかを選択します。現在の私の問題は、カメラが接続されているかどうかを照会するルーチンが、システムに存在するカメラの機能をすでに必要としていることです。つまり、カメラモデルAとBがあるとしましょう。ユーザーは、モデルBを所有していることを知っていても、AとBのドライバーをインストールする必要があります。そうしないと、ユーザーはこれを行う必要があります。
実行時に、どのDLLが存在するかを判断する可能性があるかどうかを知りたいのですが、存在しない場合は、静的(したがって動的)コンポーネントでさえロードを無効にします。
だから基本的に私の問題はあなたができないということですif(DLL was found){ #include "source that includes header using functions defined in lib which loads DLL"}