Подтвердить что ты не робот

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

4b9b3361

Ответ 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.

  1. В-третьих, щелкните правой кнопкой мыши ваш проект в 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 не может распознать правильный компилятор.