7

私は、遅延読み込みが必要な dll の関数を使用する静的リンク ライブラリを持っています。したがって、実行可能ファイルのプロパティで、この dll を下に追加しましたLinker/Input/Delay Loaded DLLsLinkerプロパティページがないため(静的ライブラリであるため)、ライブラリ自体にこのオプションを追加することはできません。
したがって、別の実行可能ツールでこのライブラリを使用するたびに、遅延読み込みオプションを何度も追加する必要があります繰り返しますが、これは避けたいです。私はこれのためのプラグマがあったことを知っています

#pragma comment(linker, "/DELAYLOAD:mydll.dll")

しかし、それは私にはうまくいきません

warning LNK4229: invalid directive '/DELAYLOAD:mydll.dll' encountered; ignored

LoadLibrary 以外に解決策はありますか?

4

1 に答える 1

4

私はいつもそのような問題に興味があるので、グーグルでいくつかの調査を行いました(あなたのように推測します)。明らかにリンクは次のとおりです。

http://social.msdn.microsoft.com/Forums/vstudio/en-US/807606af-f7d7-4d9b-a9f3-062b23fddb2b/using-the-delayload-linker-switch-with-a-custom-dll

残念ながら、それは 2004 年からのもので、それは 9 年前の一部の VS バージョンです。

しかし、さらに悪いことに、私はこれも見つけました:

http://bytes.com/topic/net/answers/280580-delayload-pragma-fixed-whidbey

これは 1 年遅れており、非常にもっともらしく聞こえます。

いいえ、これは確実に機能しませんでした。6.0 で許可されたのはバグでした。警告を追加して後で修正したもの。

ロナルド・レアマンズ

ビジュアル C++ チーム

あなたの3つの提案以外に、他の方法はありません。

于 2013-09-06T14:23:11.853 に答える