Recherche…


erreur: '***' n'a pas été déclaré dans cette portée

Cette erreur se produit si un objet inconnu est utilisé.

Les variables

Ne pas compiler:

#include <iostream>

int main(int argc, char *argv[])
{
    {
        int i = 2;
    }

    std::cout << i << std::endl; // i is not in the scope of the main function

    return 0;
}

Réparer:

#include <iostream>

int main(int argc, char *argv[])
{
    {
        int i = 2;
        std::cout << i << std::endl;
    }

    return 0;
}

Les fonctions

La plupart du temps, cette erreur se produit si l'en-tête nécessaire n'est pas inclus (par exemple, en utilisant std::cout sans #include <iostream> )

Ne pas compiler:

#include <iostream>

int main(int argc, char *argv[])
{
    doCompile();

    return 0;
}

void doCompile()
{
    std::cout << "No!" << std::endl;
}

Réparer:

#include <iostream>

void doCompile(); // forward declare the function

int main(int argc, char *argv[])
{
    doCompile();

    return 0;
}

void doCompile()
{
    std::cout << "No!" << std::endl;
}

Ou:

#include <iostream>

void doCompile() // define the function before using it
{
    std::cout << "No!" << std::endl;
}

int main(int argc, char *argv[])
{
    doCompile();

    return 0;
}

Note: Le compilateur interprète le code de haut en bas (simplification). Tout doit être au moins déclaré (ou défini) avant utilisation.

référence indéfinie à «***»

Cette erreur de l'éditeur de liens se produit si l'éditeur de liens ne parvient pas à trouver un symbole utilisé. La plupart du temps, cela se produit si une bibliothèque utilisée n'est pas liée.

qmake:

LIBS += nameOfLib

cmake:

TARGET_LINK_LIBRARIES(target nameOfLib)

appel g ++:

g++ -o main main.cpp -Llibrary/dir -lnameOfLib

On pourrait également oublier de compiler et de lier tous les fichiers .cpp utilisés (functionsModule.cpp définit la fonction nécessaire):

g++  -o binName main.o functionsModule.o

erreur fatale: ***: aucun fichier ou répertoire de ce type

Le compilateur ne peut pas trouver de fichier (un fichier source utilise #include "someFile.hpp" ).

qmake:

INCLUDEPATH += dir/Of/File

cmake:

include_directories(dir/Of/File)

appel g ++:

g++ -o main main.cpp -Idir/Of/File


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow