Suche…


Fehler: '***' wurde in diesem Bereich nicht deklariert

Dieser Fehler tritt auf, wenn ein unbekanntes Objekt verwendet wird.

Variablen

Nicht kompilieren:

#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;
}

Fix:

#include <iostream>

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

    return 0;
}

Funktionen

Meistens tritt dieser Fehler auf, wenn der erforderliche Header nicht enthalten ist (z. B. std::cout ohne #include <iostream> )

Nicht kompilieren:

#include <iostream>

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

    return 0;
}

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

Fix:

#include <iostream>

void doCompile(); // forward declare the function

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

    return 0;
}

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

Oder:

#include <iostream>

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

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

    return 0;
}

Hinweis: Der Compiler interpretiert den Code von oben nach unten (Vereinfachung). Alles muss vor der Verwendung mindestens deklariert (oder definiert) werden .

undefinierter Verweis auf "***"

Dieser Linker-Fehler tritt auf, wenn der Linker kein verwendetes Symbol findet. Meistens passiert dies, wenn eine benutzte Bibliothek nicht damit verknüpft ist.

qmake:

LIBS += nameOfLib

cmake:

TARGET_LINK_LIBRARIES(target nameOfLib)

g ++ Aufruf:

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

Man könnte auch vergessen, alle verwendeten .cpp Dateien zu kompilieren und zu verlinken (FunctionsModule.cpp definiert die benötigte Funktion):

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

Schwerwiegender Fehler: ***: Keine solche Datei oder Verzeichnis

Der Compiler kann keine Datei finden (eine Quelldatei verwendet #include "someFile.hpp" ).

qmake:

INCLUDEPATH += dir/Of/File

cmake:

include_directories(dir/Of/File)

g ++ Aufruf:

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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow