2012-12-27 9 views
5

Ho quasi 200 progetti in Visual Studio e ci vuole troppo tempo per crearli tutti. Ho notato che la costruzione di stdafx.cpp (le intestazioni precompilate) per ogni progetto è lenta. Sto usando la stessa intestazione per ogni progetto, quindi perché devo costruirlo ~ 200 volte? Come posso costruirlo una volta e condividere tra i progetti?Posso condividere un'intestazione precompilata tra progetti per ridurre i tempi di compilazione?

+5

PER FAVORE VEDERE QUESTO: http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4931119-allow-precompiled-headers-to-be-shared-between-pro –

risposta

3

Questa domanda hasbeenaskedbefore, ma Visual Studio è cambiato.

In Visual Studio 2008, è possibile condividere l'intestazione precompilata con alcuni hackery. Designare un progetto per costruire il PCH e fare in modo che ogni altro progetto dipenda da esso (dipendenze del progetto). Assicurati di avere solo uno stdafx.h e che ogni progetto possa vederlo con #include "stdafx.h" (Directory di inclusione aggiuntive). Impostare ogni progetto client per utilizzare il file PCH di master (file di intestazione precompilato). Ora utilizzare xcopy per copiare i file .pdb e .idb del master in ogni directory di output del client. Dovrai impostare il progetto principale per generare un pdb con un nome diverso (File di output). Vedi i collegamenti sopra per ulteriori dettagli.

In Visual Studio 2010 e Visual Studio 2012 non esiste un modo noto per condividere i file PCH.

+2

Altri, incluso me stesso , sono riusciti a farlo funzionare in Visual Studio 2010 e 2012 (vedi il secondo link nella risposta di David: http://stackoverflow.com/questions/645747/sharing-precompiled-headers-between-projects-in-visual-studio/ 4170902 # 4170902). –