it-swarm.com.ru

Eclipse C++: символ 'std' не может быть разрешен

Я получаю эту ошибку в TestExecute.cpp - 

«Символ« std »не может быть разрешен»

КОД

#include <iostream>
using namespace std;

Я только что создал исполняемый проект в Eclipse (в Windows 7), как показано ниже. Кажется, я выбираю цепочку инструментов, которая не поддерживается. Это так? Я установил Cygwin и он доступен в настройках.

EDIT: на основе комментария @RobertoWilko убрать строку «используя пространство имен std; » убрал ошибку. Но двоичный файл не создан. «Ошибка запуска. Двоичный файл не найден». Как это исправить?

enter image description here

enter image description here

enter image description here

enter image description here

25
Lijo

Попробуйте этот шаг: https://www.Eclipse.org/forums/index.php/t/636348/

В основном: "Перейти к проекту -> Свойства -> Общие сведения о C/C++ -> Включение путей препроцессора, макросов и т.д. -> Провайдеры -> Параметры встроенного компилятора CDT GCC, деактивировать Использование глобального поставщика, совместно используемого проектами, и добавить аргумент командной строки -std = c ++ 11.

17
user3729779

Я не знаю, решили ли вы эту проблему, но я хочу опубликовать свое решение для тех, кто может столкнуться с той же проблемой.

  1. Во-первых, убедитесь, что у вас есть папка «Включает» в вашем Project Explorer. Если у вас его нет, переходите ко второму шагу. Если у вас есть, перейдите к третьему шагу.

  2. Во-вторых, Window -> Preferences-> C/C++ -> Build> Environment : Создать две переменные окружения:

    а) Имя: C_INCLUDE_PATH Значение: /usr/include

    б) Имя: CPLUS_INCLUDE_PATH Значение: /usr/include/c++

Перейдите к Cygwin/usr/include/, если вы не можете найти папку "c ++", скопируйте ее из \cygwin\lib\gcc\i686-pc-cygwin\X.X.X\include и затем перезапустите Eclipse.

  1. В-третьих, щелкните правой кнопкой мыши свой проект в Project Explorer -> Свойства -> C/C++ Общие -> Пути и символы -> Включает -> Языки: GNU C++ Если вы можете найти некоторые папки C++ в разделе «Включить» Каталоги ", затем нажмите Применить и ОК. Измените немного свои коды и сохраните их. 

Вы найдете там не будет символом не может быть решены проблемы. 

Я задокументировал свое решение, надеясь, что кто-то может получить выгоду.

14
Frank

Вы можете переписать код так:

#include<iostream>
#include<stdio.h>

using namespace std;
6
liuzixing

Для MinGW это сработало для меня:

  • Щелкните правой кнопкой мыши проект, выберите Properties
  • Перейдите к C/C++ General - Paths and Symbols - Includes - GNU C++ - Include directories
  • Выберите Add...
  • Выберите Variables...
  • Выберите MINGW_HOME и нажмите OK
  • Нажмите Apply и OK

Теперь вы должны увидеть несколько путей MinGW в разделе «Включения» в проводнике проекта.
Ошибки могут исчезнуть не сразу, возможно, вам потребуется обновить/собрать свой проект.


Если вы используете Cygwin, может существовать эквивалентная переменная.

4
Myst

То, что позволило мне решить проблему, собиралось: Проект -> Свойства -> Общие сведения о C/C++ -> Путь к препроцессору, Макросы и т.д. -> Провайдеры -> Параметры встроенного компилятора CDT GCC, включение и отключение CDT Настройки встроенного компилятора Cross GCC

3
Malcolm Boyd

Папка include в проекте, вероятно, отсутствует. включить/C++. Перезапустите Eclipse.

3
Meera Patil

Установить C++ SDK :

Справка> Установить новое программное обеспечение> Работать с: path for your Eclipse version> искать C++ и устанавливать средства разработки C++ sdk.

Пример для пути: Mars - http://download.Eclipse.org/releases/mars

1
Alaa M.

У меня была эта проблема с использованием Eclipse Neon на Kubuntu с ядром 16.04, мне пришлось изменить #include <stdlib.h> на #include <cstdlib>, что сделало пространство имен std «видимым» для Eclipse и устранило ошибку.

1
Col_Parity

Мне кажется, что проблема, о которой вы сообщаете, вызвана следующим:

  1. вы пытаетесь скомпилировать код C, и исходный файл имеет расширение .cpp
  2. вы пытаетесь скомпилировать код C++, а исходный файл имеет расширение .c

В такой ситуации Eclipse не может распознать правильный компилятор для использования.

0
federico