2013-09-06 18 views
7

遅延ロードが必要なdllからいくつかの関数を使用する静的リンクライブラリがあります。だから私の実行可能ファイルのプロパティでは、Linker/Input/Delay Loaded DLLsの下にこのDLLを追加しました。私はlib自身にこのオプションを追加することはできませんLinkerプロパティページ(静的なライブラリなので)
私は別の実行可能なツールでこのlibを使用するときは、私は遅延読み込みオプションを追加する必要があります何度も繰り返し、私は避けたいものです。私はそれが遅延ロードdppをcppファイルの#pragmaで指定する

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

がLoadLibrary関数以外のアウトの方法があると言うので、それは私のために動作しません。しかし、この

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

ためのプラグマがあるように使用さ知っていますか?

+0

http://social.msdn.microsoft.com/Forums/vstudio/en-US/807606af-f7d7-4d9b-a9f3-062b23fddb2b/using-the-delayload-linker-switch-with-a-customer -dllプラグマで可能でなければなりません。 –

+0

ええ、私はそう思ったが、それは私のvs2008で動作しないように見える – spiritwolfform

答えて

4

私はいつもこのような問題に興味があるように、google(あなたと同じ推測)に関するいくつかの調査を行いましたか?当然のリンクは次のとおりです。

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

は、残念ながらそれはその9年といくつかのVSのバージョンの前に、2004年からです。

しかし、それはworser得る、私はまた、この発見:

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

後半年であり、非常に説得力の聞こえるいる:いいえ

を、これは確実に働いたことはありません。それは6.0でそれを可能にするバグでした。 One 警告を追加して後で修正しました。

ロナルドLaeremans

のVisual C++のチーム

私はあなたの3つの提案なしの追加、他の道の横に、知っていました。

+0

はい、それは削除されているようです – spiritwolfform