Ответ 1
Проблема заключалась в том, что мне нужно было установить minGW и MSY и добавить в PATH.
Теперь проблема исправлена.
У меня есть следующий код в eclipse для С++, и он подчеркивает string
и cout
и не может быть разрешен.
#include <string>
#include <iostream>
using namespace std;
int main()
{
string s;
s = "hello world";
cout << s;
return 0;
}
Кто-нибудь знает, почему?
изменить: снимок экрана
Изменить: Я нашел решение, спасибо всем (см. ответы).
Проблема заключалась в том, что мне нужно было установить minGW и MSY и добавить в PATH.
Теперь проблема исправлена.
У меня также была эта проблема.
Я узнал, что это потому, что Eclipse не смог найти все заголовки include.
Это простое и быстрое решение может решить вашу проблему (например, когда проект Eclipse был перемещен в другое место на диске, а затем снова импортирован в Eclipse), если нет, перейдите к следующему разделу (подробное исправление).
Перед продолжением проверьте правильность установки вашей инструментальной цепочки.
Этот ответ устарел. Продолжайте, если ничего из этого не помогает
Если предыдущие шаги не помогают, нам нужно будет настроить каталоги вручную (не рекомендуется)
Вам нужно убедиться, что ваша среда правильно настроена в Eclipse, поэтому она знает пути к вашим включениям. В противном случае это подчеркивает их как не найденных.
Я только что ответил на связанный с нами вопрос Ванюа (Eclipse CDT: неразрешенное включение stl-заголовка), и это мой ответ:
Вы также можете попробовать использовать "Встроенные параметры компилятора CDT GCC". Перейдите к свойствам проектa > C/С++ Общие > вкладка "Препроцессор Включить путь" > "Поставщики" затем проверьте "Настройки встроенного компилятора CDT GCC", если это не так.
Ни одно из других решений (play with include path и т.д.) не работало для меня для типа 'string', но это исправляло его.
У меня была та же проблема. Измените CurrentBuilder в свойствах/C/С++ Build/ToolChainEditor на другое значение и примените его. Затем снова измените его исходное значение. Оно работает.
У меня была та же проблема. Добавление пути include работает для всех, кроме std::string.
В mingw-Toolchain я заметил много системных файлов заголовков *.tcc
Я добавил filetype *.tcc как "Файл заголовка С++" в "Настройки" > "C/С++/Типы файлов". Теперь std::string можно разрешить из внутреннего индекса и анализатора кода. Возможно, это добавлено в Eclipse CDT по умолчанию в функции.
Надеюсь, это поможет кому-то...
PS: Я использую Eclipse Mars, mingw gcc 4.8.1, собственный Makefile, no Eclipse Makefilebuilder.
У меня была эта проблема с AOSP (clang).
Добавить external\libcxx\include
, чтобы включить и _LIBCPP_COMPILER_CLANG
в символы