Eclipse CDT: неразрешенное включение заголовка stl
Я пытаюсь использовать Eclipse для редактирования источников, скомпилированных под С++ Builder, но застревает с проблемой Unresolved inclusion
.
Например, код типа:
#include <vector>
Дает ошибку Unresolved inclusion: <vector>
в Eclipse IDE. У С++ Builder действительно нет файла vector
, вместо этого он имеет vector.h
, который используется компилятором.
Eclipse IDE не дает ошибки, если я пишу
#include <vector.h>
Как сообщить Eclipse использовать vector.h
, когда он видит #include <vector>
?
Ответы
Ответ 1
Это позволило мне избежать ошибки Eclipse "Неразрешенное включение".
В моем случае мне пришлось найти местоположение вектора вектора С++ на моем компьютере (который является Mac):
find /usr/local -name vector -print
Я нашел правильное расположение в папке "/usr/include/c++/4.2.1". Затем я установил настройки затмения проекта так:
Project->Properties->C/C++ General->Paths and Symbols->GNU C++->(Add)->"/usr/include/c++/4.2.1"
Я не использую С++ Builder, но мое решение может решить часть ваших проблем.
Ответ 2
Вы также можете попробовать использовать "Встроенные параметры компилятора CDT GCC". Перейдите к свойствам проектa > C/С++ Общие > вкладка "Препроцессор Включить путь" > "Поставщики"
затем проверьте "Настройки встроенного компилятора CDT GCC", если это не так.
Ни одно из других решений (play with include path и т.д.) не работало для меня для типа 'string', но это исправляло его.
Ответ 3
память и память .h не относятся к одному и тому же источнику.
Один для c, другой для С++
Есть ли у вас право включать источник в ваши настройки проекта?
Ответ 4
В Windows, с Eclipse CDT Oxygen, ни одно из описанных здесь решений не работало для меня (включая "Провайдера" - "Настройки встроенного компилятора CDT GCC").
Что работает для меня:
- Установите Cygwin, в частности следующие пакеты (может быть, не все строго необходимы для этого):
- libgcc1
- cygwin32-gcc-core, cygwin32-gcc-g++
- GCC-G ++
- mingw64-x86_64-gcc-core, mingw64-x86_64-gcc-g++
- В свойствах проекта:
- Перейдите в "C/C++ Build" - "Редактор цепочек инструментов" и выберите "Cygwin GCC" в качестве "Текущей цепочки инструментов":
![Project Properties - Tool Chain Editor]()
- Перейдите к "C/C++ General" - "Prepcessor Include Paths, Macors и т.д.", На вкладке "Provider" выберите:
- "Настройки пользователей CDT" (они нужны мне для других включений, таких как тесты Google, на которые я ссылался вручную);
- "Настройки встроенного компилятора CDT GCC Cygwin".
![Project Properties -Providers]()