Eclipse С++: Symbol 'std' не может быть разрешен
Я получаю эту ошибку в TestExecute.cpp -
"Символ" std "не может быть разрешен"
КОД
#include <iostream>
using namespace std;
Я только что создал исполняемый проект в Eclipse (в Windows 7), как показано ниже. Кажется, я выбираю toolchain, который не поддерживается. Это так? Я установил Cygwin, и он доступен в настройках.
EDIT: на основе комментария @RobertoWilko, удаляя строку "using namespace std;" удалила ошибку, но двоичный файл не создан ". Запуск сбой. Binary not found". Как исправить это?
![enter image description here]()
![enter image description here]()
![enter image description here]()
![enter image description here]()
Ответы
Ответ 1
Попробуйте этот шаг: https://www.eclipse.org/forums/index.php/t/636348/
Перейти к
Проект → Свойства → C/C++ Общие → Препроцессор Включает пути, макросы и т.д. → Провайдеры
- Активировать настройки встроенного компилятора CDT GCC
- Деактивировать Использование глобального провайдера, совместно используемого проектами
- Добавьте аргумент командной строки -std = C++ 11.
![example]()
Ответ 2
Я не знаю, решила ли вы эту проблему, но я хочу опубликовать свое решение, поскольку те могут столкнуться с одной и той же проблемой.
-
Сначала убедитесь, что у вас есть папка "Включает" в Project Explorer. Если у вас его нет, перейдите на второй шаг. Если у вас есть это, перейдите к третьему шагу.
-
Во-вторых, Window → Preferences- > C/С++ → Build > Environment: создайте две переменные среды:
a) Имя: C_INCLUDE_PATH
Значение: /usr/include
b) Имя: CPLUS_INCLUDE_PATH
Значение: /usr/include/c++
Перейдите к Cygwin/usr/include/
, если вы не можете найти папку "С++", скопируйте ее из \cygwin\lib\gcc\i686-pc-cygwin\X.X.X\include
и затем перезапустите Eclipse.
- В-третьих, щелкните правой кнопкой мыши ваш проект в Project Explorer → Свойства → C/С++ Общие → Контуры и символы → Включает → Языки: GNU С++
Если вы можете найти некоторые папки С++ в каталоге "Include", нажмите "Применить" и "ОК". Измените свои коды и сохраните их.
Вы найдете, что не будет символов, которые не могут быть устранены.
Я зарегистрировал свое решение, надеясь, что кто-то может получить преимущества.
Ответ 3
Вы можете переписать код, понравившийся этому:
#include<iostream>
#include<stdio.h>
using namespace std;
Ответ 4
Для MinGW это сработало для меня:
- Щелкните правой кнопкой мыши проект, выберите
Properties
- Перейдите к
C/C++ General
- Paths and Symbols
- Includes
- GNU C++
- Include directories
- Выберите
Add...
- Выберите
Variables...
- Выберите
MINGW_HOME
и нажмите OK
- Нажмите
Apply
и OK
Теперь вы должны увидеть несколько путей MinGW, включенных в ваш исследователь проекта.
Ошибки могут не исчезнуть сразу, вам может понадобиться обновить/создать проект.
Если вы используете Cygwin, может присутствовать эквивалентная переменная.
Ответ 5
Папка include в проекте, вероятно, отсутствует/usr/include/С++.
Перейдите к проекту в проводнике проекта, щелкните правой кнопкой мыши → Свойства → C\С++ Build → Environment → add → value =/usr/include/С++. Перезапустить eclipse.
Ответ 6
Что позволило мне исправить проблему: Project → Properties → C/С++ General → Preprocessor Include Paths, Macros и т.д. → Поставщики → встроенные параметры компилятора CDT GCC, позволяющие и отключение настроек встроенного компилятора CDT Cross GCC
Ответ 7
Установите С++ SDK:
Справкa > Установить новое программное обеспечение > Работайте с: path for your eclipse version
> найдите С++ и установите инструменты разработки sdk на С++.
Пример для пути: Mars - http://download.eclipse.org/releases/mars
Ответ 8
У меня возникла проблема с использованием Eclipse Neon на Kubuntu с ядром 16.04, мне пришлось изменить мой #include <stdlib.h>
на #include <cstdlib>
, что сделало пространство имен std "видимым" для Eclipse и удалило ошибку.
Ответ 9
Проблема, о которой вы сообщаете, кажется мне вызванной следующим:
- вы пытаетесь скомпилировать C-код, а исходный файл имеет расширение .cpp
- вы пытаетесь скомпилировать код С++, а исходный файл имеет расширение .c
В такой ситуации Eclipse не может распознать правильный компилятор.