#c #linux #gcc #centos
#c #линукс #gcc #центос
Вопрос:
В среде Linux (CentOS7) у меня есть локальный foo/features.h
, который необходимо импортировать в базовый main.cpp
. Структура каталогов выглядит следующим образом
./workspace/main.cpp ./foo/features.h
Я хотел бы импортировать файл с main.cpp
помощью
#include "features.h"
(вместо указания относительного пути ../features.h
).
Если я просто выступлю с workspace/
gcc main.cpp -o m.out -I../foo
затем другие внутренние файлы, такие как /usr/include/stdio.h
не удается импортировать /usr/include/features.h
(из-за инструкции #include lt;features.hgt;
в этом файле) и попытаться импортировать мой локальный foo/features.h
.
Я вижу такое же поведение, если я устанавливаю CPATH
вместо использования -I
для gcc
. Является ли моей единственной альтернативой переименованию моего features.h
?
Комментарии:
1. Вы могли бы использовать
-I../
тогда#include "foo/features.h"
2. @AlanBirtles Большое тебе спасибо. Это сработало великолепно.
Ответ №1:
Чтобы включить файлы, созданные пользователем, вам необходимо поместить их между кавычками и указать путь, например :
#include "../foo/features.h"
" "
предназначен для созданных пользователем
lt; gt;
предназначен для общесистемных библиотек
Таким образом, вам не нужно перезаписывать путь с помощью -I