12
votes

Générer automatiquement un fichier DLL .def dans Visual Studio?

Y a-t-il un moyen de générer automatiquement le fichier DEF pour une DLL dans Visual Studio? Je les ai toujours faits manuellement manuellement auparavant, mais il faut que ça va être un moyen plus facile.


1 commentaires

Oui, c'est possible avec la nouvelle version de la cmake. Regardez ma réponse pour clarification: Stackoverflow.com/a/32284832/3001953


3 Réponses :


1
votes

Mettez simplement: écrivez un script qui convient à vos besoins. I Pendant une création d'un petit script Perl sur certains pour créer un fichier .def de une DLL existante qui serait ensuite utilisée pour créer une bibliothèque d'importation ( .lib ) de celui-ci.

La raison pour laquelle il n'y a pas d'outil de lecture à utiliser qui vous fait pour vous, car aucun des outils impliqués ne peut deviner ou de déterminer de manière télépathique déterminer quelles fonctions ou variables ou classes que vous souhaitez exporter et sous quels noms. < / p>

Comme vous le savez peut-être que les fichiers de définition de module vous permettent de modifier la manière dont un nom interne apparaît dans la table d'exportation, permet d'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 dû à des fins d'assistance héritée et d'un plus récent, car il suit une certaine convention).

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


0 commentaires

5
votes

J'ai trouvé un endroit pour générer le fichier .def pour vous ici: Expdef - def Générateur de fichiers

Ce fonctionnement incroyable et dispose d'une liste d'options que vous pourriez également générer en plus des noms de méthodes des fonctions et des symboles.


0 commentaires

0
votes

Voir la réponse avec le projet de démonstration ici:

https://stackoverflow.com/a/64302521/2338477

J'ai inclus le script Python pour générer un fichier .def à partir de la bibliothèque statique, mais cela ne fonctionne malheureusement pas avec des variables / données.


0 commentaires