web-dev-qa-db-fra.com

Puis-je compiler et déboguer (exécuter) un seul fichier C++ dans Visual Studio 2012? (Comment éviter de créer trop de projets)

J'apprends le C++ à partir d'un livre et j'utilise Visual Studio 2012. Pour suivre les exercices du livre, je dois créer plusieurs fichiers .cpp contenant la fonction main (). Est-il possible de compiler/déboguer mes programmes sans créer un nouveau projet à chaque fois?

Par exemple, si j'écris un simple "Hello, World!" fichier et ensuite décider de faire quelque chose d'autre qui est vraiment simple, puis-je éviter de faire un nouveau projet pour chaque programme simple? Est-il possible d'utiliser Visual Studio 2012 uniquement en tant que compilateur? J'adorerais si je pouvais tout avoir dans un seul projet où je pourrais compiler le fichier individuel que je voulais et le voir fonctionner.

Merci de votre aide.

17
Sunjay Varma

Bien qu'il soit trop tard pour ajouter cette réponse, mais cela pourrait être utile aux futurs téléspectateurs. C'est ce que j'ai fait -

Tout en essayant de comprendre comment utiliser Visual Studio dans le même but que celui que vous aviez demandé, j'ai observé et constaté que, pour un projet C++, il ne devrait exister qu'un seul point de départ, à savoir une seule fonction main().

Ainsi, au lieu de créer un nouveau projet à chaque fois, changez simplement le nom de (main()) dans les fichiers C++ inutilisés en autre chose , comme le nom de fichier ou autre.


Par exemple, j'ai d'abord créé mon tout premier programme hello_world.cpp avec une fonction main(), puis je l'ai compilé, exécuté et tout ce que je pouvais utiliser. 

Mais maintenant, je veux créer un nouveau fichier pour essayer quelque chose de nouveau (un nouveau fichier learn_operators.cpp avec une fonction main() qui lui est propre).

Donc, avant d'essayer de compiler et d'exécuter learn_operators.cpp, je vais changer le nom de main() dans hello_world.cpp en, disons, hello_world(), puis créer et exécuter le projet de la même manière qu'auparavant, mais cette fois, seul ce nouveau fichier sera exécuté. c'est le (nouveau) point de départ du projet (c'est-à-dire qu'il inclut la fonction main()).

J'espère que cela m'aide et corrige-moi si je me trompe n'importe où.

8
PalashV

Pour compiler, créez simplement un fichier cpp. et utilisez l'outil de ligne de commande cl, Vérifiez le lien MSDN: compilez un programme C++ natif à partir de la ligne de commande Il contient un exemple cl /EHsc simple.cpp

7
Neel Basu

Vous pouvez ajouter tous vos fichiers cpp au même projet avec des noms de fichiers différents. Vous pouvez ensuite cliquer avec le bouton droit de la souris sur chaque fichier et exclure les fichiers que vous ne souhaitez pas créer. 

Il est cependant préférable d’avoir un projet par application. 

Alternativement, vous pouvez avoir un seul fichier principal qui appelle vos autres fonctions dans d’autres fichiers dans lesquels vous implémentez vos exercices sans avoir à vous occuper de rien, mais implémentez de nouveaux exercices dans un nouveau fichier et appelez-le depuis main.

5
Barış Uşaklı

Vous pouvez également utiliser la compilation conditionnelle pour résoudre ce problème. Mais je vous recommanderais vraiment de faire l'effort de créer un nouveau projet pour chaque programme.

header.h

#include<iostream>
#define __HelloWorld__

HelloWorld.cpp

#include"header.h"

#ifdef __HelloWorld__

int main() {
    std::cout << "Hello World" << std::endl;
}

#endif

programme2.cpp

#include"header.h"

#ifdef __program2__

int main() {
    std::cout << "Program 2" << std::endl;
}

#endif

Maintenant, vous pouvez choisir via #define le programme que vous voulez exécuter.

4
tom1991te
  1. Faites un clic droit sur le fichier. 
  2. Accédez aux propriétés du fichier que vous ne voulez pas exécuter. 
  3. Dans Propriétés de configuration, accédez à Général. 
  4. Définissez "Excluded from Build" sur YES. 
  5. Cliquez sur Appliquer. 
  6. Et puis chargez le débogueur Windows. 

Vous êtes prêt!

3
Desai

Si vous cliquez avec le bouton droit de la souris sur le nom de la solution dans la fenêtre du navigateur de projet dans le volet de droite, vous devriez pouvoir ajouter des projets sous votre projet existant. Cependant, il est préférable de commencer un nouveau projet pour chaque exercice. Ici il y a une référence pour vous.

0
FeliceM