Wie verwenden von delay laden, mit einer DLL für den Export von C++ - Klassen

Ich habe eine DLL one.dll verwendet, die eine Klasse TwoClass exportiert aus two.dll über class __declspec(dllexport). Ich möchte one.dll zu verwenden /delayload für two.dll, aber ich bekomme Linker-Fehler:

LINK : fatal error LNK1194: cannot delay-load 'two.dll' due to import
of data symbol '"__declspec(dllimport) const TwoClass::`vftable'"
(__imp_??_7TwoClass@@6B@)'; link without /DELAYLOAD:two.dll

Dass in einem Release-build; in einem Debug-build funktioniert es. (Ich weiß nicht, was der Unterschied zwischen Release und Debug in Bezug auf die vtable-Export, noch kann ich irgendwelche compiler-switches oder pragmas zu kontrollieren.)

Wie kann ich /delayload mit einer DLL, die Export-Klassen, wie dies in einem Release-build?

  • VC6 durch Zufall?
  • Nein, VS2005 (derzeit; zu bewegen, um 2010 irgendwann).
InformationsquelleAutor RichieHindle | 2011-03-08
Schreibe einen Kommentar