2010-02-01 9 views
11

Est-il possible de générer automatiquement le fichier DEF pour une DLL dans Visual Studio? Je les ai toujours créés manuellement auparavant, mais il doit y avoir un moyen plus simple.Générer automatiquement un fichier DLL .DEF dans Visual Studio?

+2

Y a-t-il une réponse? – freshWoWer

+0

Oui, c'est possible avec la nouvelle version du CMake. Regardez ma réponse pour la clarification: http://stackoverflow.com/a/32284832/3001953 – Maks

Répondre

1

Tout simplement: écrivez un script qui convient à vos besoins. Pour ma part, j'ai créé un petit script Perl à certains pour créer un fichier .defde une DLL existante qui serait ensuite utilisée pour créer une bibliothèque d'importation (.lib). La raison pour laquelle il n'y a pas d'outil de lecture qui fonctionne pour vous, c'est qu'aucun des outils impliqués ne peut deviner ou déterminer par télépathie quelles fonctions ou variables ou constantes ou classes vous souhaitez exporter et sous quels noms. Comme vous le savez peut-être, les fichiers de définition de module vous permettent de modifier l'apparence d'un nom interne dans la table d'exportation, de l'exporter par ordinal (au lieu de nom) ou par nom et ordinal. Bien sûr, ils permettent également d'exporter une fonction plusieurs fois (par exemple, un ancien nom en raison de l'ancien support et un nouveau nom parce qu'il suit une convention maintenant).

Voir aussi this question. Vous remarquerez que la réponse implique également un script personnalisé. Dans ce cas, l'exigence est apparemment seulement de démembrer et d'exporter les noms de toutes les fonctions non statiques.

5

J'ai trouvé un endroit pour générer le fichier .def pour vous ici: expdef - def file generator

Cela fonctionne incroyable et a une liste d'options que vous pouvez également générer en plus des noms de méthode des fonctions et des symboles.

Questions connexes