2013-04-03 20 views
5

Nella directory di output in cui Visual Studio posiziona l'eseguibile compilato, ci sono tre file aggiuntivi dei tipi *.exp, *.lib, .pdb. Non ho bisogno di questi file e vorrei impedire al compilatore di crearli.Perché Visual Studio genera questi file aggiuntivi?

Ecco come appare la mia directory di output di compilazione. Ho solo bisogno del file *.exe.

output directory with unwanted additional files

Quali sono questi file aggiuntivi per? Come posso disabilitare che siano generati? Se sono necessari per il processo di compilazione, esiste un modo per rimuoverli automaticamente dopo la creazione dell'eseguibile?

Sto utilizzando Visual Studio 2012. Se sono necessari ulteriori dettagli, si prega di commentare.

+1

file PDB http://stackoverflow.com/questions/3899573/what-is-a-pdb-file –

+0

'Application.pdb' contiene informazioni di debug per aiutare il debugger a correlare il codice in' Application.exe' con il codice sorgente . Quasi certamente lo vuoi, specialmente nelle build di debug. Gli altri due file vengono spesso generati per le destinazioni che stanno esportando le funzioni. La domanda è: perché non vuoi quei file * generati *? Ti infastidiscono in qualche modo? –

+0

Grazie a @JeffPaquette ho disabilitato la generazione del file '* .pdb'. Voglio solo il file '* .exe' e non capisco * perché * Ho anche un file di libreria. E non ho mai sentito parlare di "* .exp" prima. A proposito, tutto riguarda la mia configurazione di build di rilascio. – danijar

risposta

0

Alcune funzioni all'interno dichiarate con come __declspec (dllexport). Significa che vengono esportati e il linker pensa che sia necessario collegarsi a questa libreria dinamica (non importa che sia exe o dll - in generale la struttura è la stessa) e crea file * .lib e * .exp

Problemi correlati