Как решить "Неразрешенное включение: <iostream>" в файле C++ в Eclipse CDT?

Я загружаю Eclipse для C++ (cdt-master-8.0.2.zip).

Когда я пишу:

#include <iostream>

Это отмечает:

Unresolved inclusion: <iostream>

Как я могу это исправить?

12 ответов

Перейдите в Проект> Свойства> Общие положения C/C++> Препроцессор включает в себя... > Поставщики и выберите "Настройки встроенного компилятора CDT GCC".

Я использую Eclipse для кросс-компиляции, и мне нужно добавить явные каталоги для некоторых стандартных библиотек C++. Щелкните правой кнопкой мыши ваш проект и выберите Свойства. Вы получите диалог, показанный на картинке. Следуйте за изображением и используйте значок +, чтобы явно добавить пути к вашим библиотекам C++.

Убедитесь, что ваш файл имеет расширение.cpp, а не.c, у меня просто была эта проблема

Я перепробовал все ранее упомянутые ответы, но в моем случае мне пришлось вручную указать путь включения файла iostream. Поскольку я использую MinGW путь был:

C: \ MinGW \ Lib\ НКУ \mingw32\4.8.1\ включать \ C++

Вы можете добавить путь в Eclipse в: Project > C/C++ General > Пути и символы> Включает> Добавить. Надеюсь, это поможет

Установите gcc.

Если вы используете Linux, используйте менеджер пакетов.

Если вы на Windows, используйте MinGW.

В моем случае это не были настройки встроенного компилятора CDT GCC. Включив настройки встроенного компилятора CDT GCC Cygwin распознал парсер #include <iostream>,

Похоже, вы не использовали эту IDE раньше. Прочитайте страницу Eclipse "Before You Begin" и следуйте инструкциям к T. Это позволит убедиться, что Eclipse, который является только IDE, действительно связан с компилятором.

http://help.eclipse.org/indigo/index.jsp?topic=/org.eclipse.cdt.doc.user/concepts/cdt_c_before_you_begin.htm

Я запускаю затмение с Cygwin в Windows.

Проект> Свойства> C/C++ Общие> Препроцессор Включает... > Провайдеры и выбор "Настройки встроенного компилятора GCC Cygwin" в списке провайдеров решил проблему для меня.

Я использую Eclipse с Cygwin, и это сработало для меня:

Выберите "Проект"> "Свойства"> "Общие сведения о C/C++"> "Препроцессор включает в себя..."> "Поставщики" и выберите "Параметры встроенного компилятора CDT GCC Cygwin [Shared]".

Также установите "Команду, чтобы получить спецификации компилятора" ${COMMAND} в Linux

Сначала сделайте:

  • проект
  • свойства
  • C/C++ Общий
  • Препроцессор включает пути, макросы и т. Д.
  • Провайдеры

и затем в разделе "Команда для получения спецификаций компилятора" замените:

${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"

с:

g++ -std=c++11 -E -P -v -dD "${INPUTS}"

В противном случае это не с:

Unable to find compiler command in toolchain=cdt.managedbuild.toolchain.gnu.base

Протестировано на Eclipse Photon Release Candidate 3 (4.8.0RC3), Ubuntu 16.04 и на этом минимальном проекте Makefile с существующими источниками.

Для тех, кто использует свежую установку Ubuntu или другого дистрибутива Linux, убедитесь, что у вас есть хотя бы пакет "build-essential", прежде чем пытаться скомпилировать проекты Eclipse CDT.

В терминале введите:

sudo apt-get install build-essential

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

Конечно, вы также можете выполнить полную установку g++, используя:

sudo apt-get install g++

У меня была эта проблема с Eclipse 2019-12, где включения ранее решались, а затем - нет. Это было с проектом сборки Meson C/C++. Я не совсем уверен, что произошло, но закрытие проекта и его повторное открытие решили для меня проблему.

В Windows с Eclipse CDT Oxygen ни одно из описанных здесь решений не помогло мне. Я описал, что работает для меня в этом другом вопросе: Eclipse CDT: неразрешенное включение заголовка stl.

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