web-dev-qa-db-fra.com

erreur fatale C1010 - "stdafx.h" dans Visual Studio, comment résoudre ce problème?

Je compile le code suivant mais j'obtiens une erreur de compilation dans Visual Studio que je ne peux pas comprendre.

#include <iostream>

using namespace std;

int main()
{
    int matchCount, findResult;
    long childPID;
    string userInput = "blank";

    // string to be searched through
    string longString = "The PPSh-41 is a Soviet submachine gun designed by Georgi Shpagin as an inexpensive, simplified alternative to the PPD-40.";

    while (userInput.compare("!wq"));
    {
        // reset variables for reuse
        matchCount = 0;
        findResult = -1;

        cout << "Please enter a Word/s to search for (!wq to exit): "; // prompts user for string to search for
        cin >> userInput; // takes user input

        if (userInput.compare("!wq")) // checks user input to see if they still wish to search for a string
        {
            childPID = fork();

            if (childPID == 0)
            {
                while (findResult < longString.length)
                {
                    findResult = longString.find(userInput, findResult + 1, userInput.length);

                    if (findResult < longString.length)
                        matchCount++;
                }

                cout << "There are " << matchCount << " instances of " << userInput << " in longString." << endl;
            }
            else
                cout << "childPID != 0" << endl;
        }
        else
            cout << "User has chosen to exit. Exiting." << endl;
    }

    return 0;
}

L'erreur lit:

"wordcount.cpp (57): erreur fatale C1010: fin inattendue du fichier lors de la recherche d'un en-tête précompilé. Avez-vous oublié d'ajouter '#include" stdafx.h "' à votre source?"

Je ne crois pas avoir besoin d'un fichier d'en-tête pour exécuter ce code. Merci pour toute votre aide d'avance.

45
user1800967

Regardez https://stackoverflow.com/a/4726838/2963099

Désactive les en-têtes pré-compilés:

Project Properties -> C++ -> Precompiled Headers

ensemble Precompiled Header à "Not Using Precompiled Header".

99
Glenn Teitelbaum

La première ligne de chaque fichier source de votre projet doit être la suivante:

#include <stdafx.h>

Visitez ici pour comprendre les en-têtes précompilés

21
asif

Créez un nouveau "Projet vide", ajoutez votre fichier Cpp au nouveau projet, supprimez la ligne contenant stdafx.

Terminé.

Le projet n'a plus besoin du stdafx. Il est ajouté automatiquement lorsque vous créez des projets avec des modèles installés. enter image description here

5
Zahid Rouf