Esiste un modo per generare automaticamente il file DEF per una DLL in Visual Studio? Li ho sempre creati manualmente in precedenza, ma deve esserci un modo più semplice.Genera automaticamente un file .DEF DLL in Visual Studio?
risposta
In poche parole: scrivi uno script adatto alle tue esigenze. Io per primo ho creato un piccolo script Perl per creare un file .def
da una DLL esistente che sarebbe poi stata utilizzata per creare una libreria di importazione (.lib
) da esso.
Il motivo per cui non esiste uno strumento read-to-use che fa per voi è perché nessuno degli strumenti coinvolti può indovinare o determinare in qualche modo telepaticamente quali funzioni o variabili o costanti o classi si desidera esportare e con quali nomi.
Come forse sapete i file di definizione dei moduli consentono di modificare il modo in cui un nome interno viene visualizzato nella tabella di esportazione, consentono di esportare per ordinale (anziché per nome) o per nome e ordinale. Ovviamente consentono anche di esportare una funzione più volte (ad es. Un nome vecchio a causa del supporto legacy e uno più recente perché segue alcune convenzioni ora).
Vedere anche this question. Noterai che la risposta riguarda anche uno script personalizzato. In questo caso, il requisito apparentemente è solo per demarcare ed esportare i nomi di tutte le funzioni non statiche.
ho trovato un posto per generare il file DEF per voi qui: expdef - def file generator
Questo funziona incredibile e ha un elenco di opzioni si potrebbe anche generare oltre ai nomi dei metodi delle funzioni e dei simboli.
c'è una risposta? – freshWoWer
Sì, è possibile con la versione più recente di CMake. Guarda la mia risposta per chiarimenti: http://stackoverflow.com/a/32284832/3001953 – Maks