- 締切済み
ライブラリ内の処理中におけるライブラリリンクについて
VC2005を使用しています。 ライブラリからライブラリファイルって使用できるんでしょうか? (例) A.lib内の処理に、B.DLLを明示的に読み込み処理 ----------------- <A.lib内の処理> hDLL = LoadLibrary("B.dll"); // DLLのロード if (hDLL != NULL) { ~ 処理実行 ~ } ----------------- 私の環境で何度やっても、GetLastErrorにて、 "7E"(ERROR_MOD_NOT_FOUND)が出力されます。 ロードしているパスに、B.dllは必ずあります。 上記の例は明示的リンクですが、暗黙的リンクでもかまいません。 ライブラリ処理の中でライブラリファイルを使用するには、 どうすれば良いでしょうか。 もしかして、ライブラリ内で他のライブラリを使用できない 等のオチもあるのでしょうか...。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- chie65536(@chie65535)
- ベストアンサー率44% (8742/19841)
回答No.1
>"7E"(ERROR_MOD_NOT_FOUND)が出力されます。 このエラーは「モジュールファイル(DLLファイル)が見付からない」です。 >ロードしているパスに、B.dllは必ずあります。 「DLLはそのパスにあるけど、そのパスが検索対象になっておらず、LoadLibrary関数から見えないだけ」です。 「そこにある」としても「そこ」が「見えない場所」なら「無いのと一緒」です。 >もしかして、ライブラリ内で他のライブラリを使用できない >等のオチもあるのでしょうか...。 そんなオチはありません。DLLからDLLを呼ぶのは「良くある事」です。
お礼
論理的なご説明ありがとうございます。 自分で考えて見ます。