После импорта c ++ Makefile-проекта в Eclipse мой проект зависит от некоторых библиотек, которые находятся в /usr/include/gazebo-2.2/gazebo.
Они включены через линию #включают < бельведер / хх / xx.hh>. У CMake нет проблем с поиском файлов, к сожалению, Eclipse …
В моей папке include, в папке / USR / включать / устанавливается как включаемый путь. Однако он не может найти включаемые файлы.
Возможно ли для Eclipse обнаружить файлы? без добавить полный путь к каталогам включения?
Возможно ли для Eclipse обнаружение файлов без добавления полного пути к каталогам включения?
Нет, если только рассматриваемый путь включения не является одним из включенных по умолчанию компиляторов
дорожки, что не так в вашем случае.
Если вы хотите, чтобы компилятор нашел файл заголовка, на который ссылается, например,
<gazebo/xx/xx.hh>
когда требуемый файл:
/usr/include/gazebo-2.2/gazebo/xx/xx.h
тогда компилятору должен быть указан путь включения:
/usr/include/gazebo-2.2
который должен появиться в командной строке компилятора в вашем журнале сборки как:
-I/usr/include/gazebo-2.2
Я также заметил, что ваш пример на самом деле:
#include < gazebo/xx/xx.hh>
не:
#include <gazebo/xx/xx.hh>
В вашем примере ведущее пространство будет считаться частью
имя файла и заголовок не будут найдены.
Возможно ли для Eclipse обнаружение файлов без добавления полного пути к каталогам включения?
Поскольку вы используете проект Makefile, вероятно, ваш makefile указывает соответствующий путь включения. Eclipse может подобрать это, используя свой Build Output Parser. Общий способ установить это:
gcc -I /usr/include/gazebo-2.2 ...
— поскольку это то, что нужно видеть анализатору выходных данных сборки), или его можно настроить для получения этого вывода.Для полноты, поскольку вы упомянули CMake, я упомяну, что существуют также плагины, которые будут настраивать пути включения проекта, основанные непосредственно на CMakeLists.txt. (Я не могу рекомендовать конкретный, потому что я не использую CMake сам, но поиск «CMake» на Eclipse Marketplace должен дать вам несколько вариантов.)