La fonction d'exportation de DLL dans Visual Studio 2010 à l'aide de DEF

J'ai hérité d'un énorme C++ multi-projet de solution avec de nombreuses bibliothèques dynamiques mais sans

__declspec(dllexport)

Je appris que l'on n'a pas nécessairement pour insérer une dllexport (ce serait beaucoup de travail), mais que l'on peut utiliser un .def fichier en plus de correspondant .dll à la place.

Afin d'essayer ce que j'ai construit une "DLL" Hello World" projet de ici, enlevé le dllexport de l'en-tête et...a échoué désespérément. Dans les paroles de déjà cité page, mon question clé est de savoir comment

"[..] use the .def file when building the DLL."

Mon .def fichier (j'ai essayer le code qu'avec le Ajouter méthode):

LIBRARY   MathFuncsDll
EXPORTS 
?Add@MyMathFuncs@MathFuncs@@SANNN@Z

Comment puis-je l'utiliser lors de la construction de la DLL dans Visual Studio 2010 pour l'exportation d'un Ajouter méthode?

Pouvez-vous montrer le prototype de votre Add fonction?
static double Add(double a, double b);, placé comme public dans la classe MyMathFuncs de l'espace de noms MathFuncs
Êtes-vous de l'exportation de la classe? Voir stackoverflow.com/questions/186232/...
Non, je n'en ai pas mais merci pour l'astuce en tout cas.
Win32 GetWindowText() est un exemple de "pure interface C" de la fonction exportée à partir d'une DLL. Vous utilisez extern "C", vous n'utilisez pas d'objets C++ au niveau de l'interface, vous ne jetez pas les exceptions C++ en dehors de la fonction, etc. (La mise en œuvre peut être en C++, mais l'interface est de la pure C.), Mais il semble que vous voulez exporter une classe C++ méthode (statique)...

OriginalL'auteur Finnfalter | 2013-01-18