2009-10-11 9 views
3

J'ai deux fichiers dll créés par environ 1500 fichiers cpp. Quand j'ai besoin d'en éditer un, je recompile habituellement tous les 1500 fichiers depuis le début. Mais j'ai entendu dire qu'il y avait un moyen de faire que Visual Studio recompile les modifications seulement, en prenant beaucoup moins de temps ... Comment faire?Visual C++ studio, recompiler uniquement les fichiers modifiés

+1

Est-ce que visual studio ne le fait pas par deault si vous cliquez sur 'build'? – stijn

+0

non, il recompile juste chaque fichier et je dois attendre longtemps –

+1

êtes-vous sûr d'utiliser «construire» et non «reconstruire tout»? Je suis assez sûr que si vous changez seulement un fichier source (donc pas un en-tête qui est inclus par tous les fichiers source), vs compile seulement ce fichier et ensuite effectue une liaison. reconstruire complète – stijn

Répondre

14

VS est en fait assez bon pour faire les vérifications de dépendances afin que seulement les choses nécessaires soient recompilées. Je peux voir quelques raisons (plus ou moins probables) de ce que vous voyez:

  • Vous modifiez un en-tête et cela a été inclus partout.
  • Vous essayez de "reconstruire" au lieu de "construire".
  • Vous avez inclus un fichier cpp.
  • Quelque chose est louche avec vos projets, votre disque ou votre date.

C'est dans ce que je considère décroissant ordre de probabilité.

3

Sélectionnez les fichiers modifiés, cliquez avec le bouton droit de la souris et compilez, puis compilez uniquement les fichiers modifiés, puis compilez-les .. cela prend moins de temps pour simplement construire le projet entier. Je ne suis pas sûr des nouvelles versions de VS.net IDE .. Je pense que VS.net IDE ne se soucie que des fichiers modifiés .. si vous exécutez "build" seulement pas "rebuild"

1

Rechercher l'option En-tête précompilé dans les propriétés du projet - > C/C++ -> menu En-têtes précompilés. Définissez-le sur Utiliser au lieu de Créer. Cela m'a aidé. Ci-dessous est mon message original que je voulais poster ici :)

Salut. Moi aussi j'ai le même problème avec VS 2010. J'ai exécuté la commande build quelques fois pour que tous les projets soient à jour. J'ai ajouté à une solution .cpp et .h fichier contenant la classe vide. Le fichier .cpp contenait uniquement l'en-tête précompilé et le fichier .h, tandis que le fichier .h ne contenait que #pragma et 'class test {};'. Après quelques builds (4 thread building) je reçois tous les messages à jour. Puis j'ai changé le fichier .h en 'test de classe {int a};' et après avoir sélectionné construire tous les fichiers où reconstruit.

J'ai également vérifié l'option de recompilation minimale et son activé. Probablement est en-tête précompilé causant des problèmes. Je le vérifie maintenant: D

Questions connexes