Поиск…


Ошибка: «***» не было объявлено в этой области

Эта ошибка возникает, если используется неизвестный объект.

переменные

Не компиляция:

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

функции

В большинстве случаев эта ошибка возникает, если нужный заголовок не включен (например, с помощью std::cout без #include <iostream> )

Не компиляция:

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

Или же:

#include <iostream>

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

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

    return 0;
}

Примечание . Компилятор интерпретирует код сверху вниз (упрощение). Перед использованием все должно быть объявлено (или определено) .

неопределенная ссылка на `*** '

Эта ошибка компоновщика возникает, если компоновщик не может найти используемый символ. В большинстве случаев это происходит, если используемая библиотека не связана.

QMAKE:

LIBS += nameOfLib

CMake:

TARGET_LINK_LIBRARIES(target nameOfLib)

g ++ call:

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

Также можно забыть компилировать и связывать все используемые .cpp файлы ( .cpp определяет нужную функцию):

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

Неустранимая ошибка: ***: Нет такого файла или каталога

Компилятор не может найти файл (исходный файл использует #include "someFile.hpp" ).

QMAKE:

INCLUDEPATH += dir/Of/File

CMake:

include_directories(dir/Of/File)

g ++ call:

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


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow