Eclipse не видит мой C ++ включает из отдельных папок

0

У меня есть иерархия файлов папок:

src/
  Fuelable.h
  Fuelables/
    PetrolCar.h
    PetrolCar.cpp

PetrolCar.h:

#include "Fuelable.h"

PetrolCar.cpp:

#include "PetrolCar.h"

Чтобы сделать этот компилятор, я добавил папку src, чтобы включить пути, как в этом руководстве: http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.cdt.doc.user%2Ftasks%2Fcdt_t_proj_paths.htm

Код включения не выделяется как ошибка. Но когда я пытаюсь построить его с ошибкой в makefile:

Building file: ../src/Fuelables/PetrolCar.cpp
In file included from ../src/Fuelables/PetrolCar.cpp:8:0:
Invoking: GCC C++ Compiler
../src/Fuelables/PetrolCar.h:12:22: fatal error: Fuelable.h: No such file or directory
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/Fuelables/PetrolCar.d" -MT"src/Fuelables/PetrolCar.d" -o "src/Fuelables/PetrolCar.o" "../src/Fuelables/PetrolCar.cpp"
compilation terminated.
make: *** [src/Fuelables/PetrolCar.o]

Что интересно, intellisence видит все файлы.

Если я компилирую из командной строки:

sashko@sashko-1225C:~/workspaceEclipse/FuelingSystem/src/Fuelables$ g++ PetrolCar.cpp -I 
/home/sashko/workspaceEclipse/FuelingSystem/src/Fuelable.h
cc1plus: warning: /home/sashko/workspaceEclipse/FuelingSystem/src/Fuelable.h: not a directory [enabled by default]
In file included from PetrolCar.cpp:8:0:
PetrolCar.h:12:22: fatal error: Fuelable.h: No such file or directory
compilation terminated.
  • 0
    Компилировать в командной строке. Добавьте соответствующие параметры -I в g++
  • 0
    Вы пробовали #include "../Fuelable.h" чтобы указать, что файл находится в предыдущем каталоге?
Показать ещё 2 комментария
Теги:
include

1 ответ

1

Допустим, вы будете распространять библиотеку "Машины". Иерархией включения может быть:

some_local_or_general_or_system_include_directory
- Machines
  - Fuelables

Затем вы можете #include <Machines/Fuelable.h> или #include <Machines/Fuelables/PetrolCar.h> имеющие один каталог include. В противном случае вы должны добавить каждый каталог в свой путь include.

  • 0
    Fuelable.h - это интерфейс для реализации классов в папке «Fuelables». Я не могу вкладывать папки, как вы предлагаете.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню