• 締切済み

ライブラリ内の処理中におけるライブラリリンクについて

VC2005を使用しています。 ライブラリからライブラリファイルって使用できるんでしょうか? (例) A.lib内の処理に、B.DLLを明示的に読み込み処理 ----------------- <A.lib内の処理> hDLL = LoadLibrary("B.dll"); // DLLのロード if (hDLL != NULL) { ~ 処理実行 ~ } ----------------- 私の環境で何度やっても、GetLastErrorにて、 "7E"(ERROR_MOD_NOT_FOUND)が出力されます。 ロードしているパスに、B.dllは必ずあります。 上記の例は明示的リンクですが、暗黙的リンクでもかまいません。 ライブラリ処理の中でライブラリファイルを使用するには、 どうすれば良いでしょうか。 もしかして、ライブラリ内で他のライブラリを使用できない 等のオチもあるのでしょうか...。

みんなの回答

回答No.1

>"7E"(ERROR_MOD_NOT_FOUND)が出力されます。 このエラーは「モジュールファイル(DLLファイル)が見付からない」です。 >ロードしているパスに、B.dllは必ずあります。 「DLLはそのパスにあるけど、そのパスが検索対象になっておらず、LoadLibrary関数から見えないだけ」です。 「そこにある」としても「そこ」が「見えない場所」なら「無いのと一緒」です。 >もしかして、ライブラリ内で他のライブラリを使用できない >等のオチもあるのでしょうか...。 そんなオチはありません。DLLからDLLを呼ぶのは「良くある事」です。

darkness22
質問者

お礼

論理的なご説明ありがとうございます。 自分で考えて見ます。

関連するQ&A