Почему я получаю эти неопределенные ошибки при компиляции программы C ++ в терминале?

У меня есть программа на C ++, которая отлично компилируется и работает в блоках кода. Однако, когда я пытаюсь скомпилировать его из терминала, используя:

gcc -g main.cpp -o Main

, я получаю много неопределенных ссылок:

И это снимок экрана программы, работающей в кодовых блоках:

1
задан 9 March 2017 в 21:04

3 ответа

Вы должны компилировать, используя g++, gcc компилирует программы на Си. Чтобы установить все необходимые пакеты из g++, выполните sudo apt-get install build-essential на терминале, а затем, чтобы скомпилировать вашу программу, выполните g++ -g main.cpp -o Main.

0
ответ дан 9 March 2017 в 21:04

Вы должны всегда использовать g++ для программ на C ++!

Это потому, что:

  • gcc - это GNU C & nbsp; & nbsp; & NBSP; & NBSP; & NBSP; Компилятор

  • g++ является компилятором GNU C ++

Таким образом, они являются разными компиляторами, и поэтому они являются разными пакетами. Основные отличия:

  1. gcc будут компилировать: *.c / *.cpp файлы как C и C ++ соответственно.
  2. g++ скомпилируют: *.c / *.cpp файлы, но все они будут обрабатываться как файлы C ++.
  3. Если вы используете g++ для связывания объектных файлов, он автоматически связывается в библиотеках std C ++ (gcc этого не делает).
  4. gcc компиляция файлов C имеет меньше предопределенных макросов.
  5. gcc, компилирующие *.cpp и g++, компилирующие файлы *.c / *.cpp, имеют несколько дополнительных макросов.

Источник: В чем разница между g ++ и gcc?

0
ответ дан 9 March 2017 в 21:04

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

0
ответ дан 9 March 2017 в 21:04

Другие вопросы по тегам:

Похожие вопросы: