Как решить "Неразрешенное включение: <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, действительно связан с компилятором.
Я запускаю затмение с 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.