Gibt es eine Möglichkeit, die DEF-Datei für eine DLL in Visual Studio automatisch zu generieren? Ich habe sie immer nur manuell erstellt, aber es muss einen einfacheren Weg geben.Automatisch eine DLL-DEF-Datei in Visual Studio generieren?
Antwort
Einfach ausgedrückt: Schreiben Sie ein Skript, das Ihren Anforderungen entspricht. Ich für einen erstellt ein kleines Perl-Skript bei einigen, um eine .def
Datei von eine vorhandene DLL zu erstellen, die dann verwendet werden würde, um eine Import-Bibliothek (.lib
) daraus zu erstellen. Der Grund, warum es kein read-to-use-Tool für Sie gibt, liegt daran, dass keines der beteiligten Tools erraten oder irgendwie telepathisch bestimmen kann, welche Funktionen oder Variablen oder Konstanten oder Klassen Sie exportieren möchten und unter welchen Namen.
Wie Sie vielleicht wissen, Modul-Definitionsdateien können Sie ändern, wie ein interner Name in der Exporttabelle angezeigt wird, erlauben, nach Ordnungszahl (anstelle von Name) oder nach Name und Ordnungszahl zu exportieren. Natürlich erlauben sie auch, eine Funktion mehrere Male zu exportieren (z. B. einen alten Namen aufgrund von Legacy-Support-Zwecken und einen neueren, weil er jetzt einer Konvention folgt).
Siehe auch this question. Sie werden feststellen, dass die Antwort auch ein benutzerdefiniertes Skript enthält. In diesem Fall besteht die Anforderung offensichtlich lediglich darin, die Namen aller nicht statischen Funktionen zu dekomprimieren und zu exportieren.
Ich habe einen Platz gefunden, die DEF-Datei für Sie hier zu generieren: expdef - def file generator
Das funktioniert erstaunlich und hat eine Liste von Optionen, die Sie auch neben den Methodennamen der Funktionen und Symbole erzeugen könnten.
gibt es eine Antwort? – freshWoWer
Ja, das ist mit der neuesten Version von CMake möglich. Sehen Sie sich meine Antwort zur Klärung an: http://StackOverflow.com/a/32284832/3001953 – Maks