2016-12-13 1 views
0

Je suis un débutant en C++ et je suis prêt à apprendre beaucoup plus. J'utilise ce site Web appelé learncpp.com et j'ai suivi quelques cours, jusqu'ici tout va bien.Je ne peux pas exécuter plusieurs fichiers dans l'explorateur de solutions Visual Studio Community 2015

Malheureusement, je suis arrivé à cette partie de la leçon: http://www.learncpp.com/cpp-tutorial/18-programs-with-multiple-files/ et mon Visual Studio 2015 ne compilera pas 2 fichiers dans la solution. Le site dit qu'il utilisera beaucoup plus cette méthode à l'avenir, donc je crains de ne pas pouvoir continuer si je ne parviens pas à résoudre ce problème.

J'ai 2 fichiers. L'un est nommé add.cpp et l'autre est nommé main.cpp.

Image

Le main.cpp contient le code:

#include "stdafx.h" 
#include <iostream> 

int add(int x, int y); 

int main() 
{ 
std::cout << "The sum of 3 and 4 is: " << add(3, 4) << std::endl; 
return 0; 
} 

Et mon add.cpp contient

#include "stdafx.h" 

int add(int x, int y) 
{ 
return x + y; 
} 

Quand je lance le programme, je reçois ce message:

Image

Quelqu'un connaît une solution? Je veux vraiment continuer ce voyage amusant dans l'apprentissage C++.

+2

Téléchargez l'instantané de la structure de votre projet. –

+0

Avez-vous eu des erreurs de construction? – drescherjm

+0

Soit vous n'avez pas construit le projet avant d'essayer de l'exécuter (c'est étrange, car Visual Studio le construira généralement pour vous), soit vous avez réussi à pirater les paramètres du projet de manière à ce que le fichier de sortie ne soit pas créé dans la bonne place. –

Répondre

1

Êtes-vous obtenir des erreurs de compilation pour

#include "stdafx.h" 

Vous devrez peut-être recréer le projet ou supprimer les includes pour stdafx.h.

stdafx.h est utilisé pour les en-têtes précompilés. Pour utiliser cette fonction, lors de la création du projet, après avoir cliqué sur suivant, cochez la case "en-têtes précompilés" et ne cochez pas la case "projet vide", et décochez "secure development lifcycle (SDL)". Notez que cela créera stuff.cpp pour le fichier source principal. Vous pouvez copier la source de main.cpp dans stuff.cpp.Vous devrez ajouter "item existant" pour inclure add.cpp dans le projet.

L'alternative est de ne pas utiliser d'en-têtes précompilés et de ne pas utiliser stdafx.h, qui fait partie des en-têtes précompilés. Lors de la création d'un projet, j'efface normalement les "en-têtes précompilés", efface "le développement sécurisé du cycle de vie (SDL)" et définit "projet vide".

1

qui est un signe de construction sans succès et bien sûr aussi longtemps que vous n'avez pas inclus add.h en fait, je pense que vous ne l'avez pas encore créé add.h parce que je vois Add() prototype main.cpp qui exclut decalring dans un en-tête .

la solution:

1- créer un fichier d'en-tête Add.h qui ressemblera à:

// add.h 
#ifndef ADD_H_ 
#define ADD_H_ 
int add(int x, int y); 
#endif 

2- fichier add.cpp:

// add.cpp 
#include "add.h" 
int add(int x, int y) 
{ 
    return x + y; 
} 

3- main.cpp:

// main.cpp 
#include "stdafx.h" 
#include "add.h" 
#include <iostream> 

// int add(int x, int y); // there's no need to re-declare it here because you already declared it in header 

int main() 
{ 
    std::cout << "The sum of 3 and 4 is: " << add(3, 4) << std::endl; 
    return 0; 
} 

4- aller à MSVC: projet-> ajouter un élément existant, puis sélectionner add.cpp

5- maintenant compiler et construire et exécuter.

J'aimerais que cela fonctionne pour vous.

+0

Il ne s'est pas passé. J'ai eu un code d'erreur C1083 quand j'ai cliqué droit sur mon main.cpp et cliqué compiler. Si je débogue tout, je reçois le même message que précédemment. – stivodivo