2015-06-15 3 views
0

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

Я работаю над общим проектом, используя geany и gcc. Файловая структура выглядит следующим образом:

`/Documents/.../project/ main directory of project with makefile` 
`/Documents/.../project/src here are some sourcefiles and headers` 
`/Documents/.../project/src/extended here are some other source and header files` 
`/Documents/.../project/src/tools other header and source files` 

теперь позволяет сказать, что я работаю над Исходный_файлом в/инструментах, которые включают от extened с #include"/extended/some_header.h" , потому что мой Makefile настроен для поиска файлов из /src. Однако, когда я пытаюсь скомпилировать файл, над которым я работаю прямо сейчас (используя параметр компиляции geany, который просто вызывает gcc), я не могу его скомпилировать, потому что он не может найти /extended/some_header.h в папке /src. Я попытался добавить -iquotes/Documents/.../project/src к gcc-вызову geany, но он тоже не работает.

+0

@EugeneSh. ИМХО, связанный вопрос не очень высокого качества. Не возражаете ли вы предоставить другой? (Я почти уверен, что есть лучший обман, но вините меня, я чувствую себя слишком ленивым после долгого дня ..) –

+0

Так что я думаю, мне придется ответить на это сам .. –

+0

вам просто нужно иметь gcc знает о вашей папке include, которую можно сделать, передав опцию -I' (верхняя i). объектные файлы должны быть скомпилированы один за другим и в конечном итоге обработаны компоновщиком. – HuStmpHrrr

ответ

1

Флаг -I сообщает компилятору gcc, где он должен искать заголовок . Передача -Idir компилятору добавляет путь dir к заголовку списка поиска, что делает этот путь более приоритетным, чем предыдущие (или системные) пути. Что касается исходного пути - такой опции нет для gcc. Каждый исходный файл, переданный компилятору, должен иметь свой путь (абсолютный или относительный). Для его работы может быть предоставлен Makefile, определяющий список файлов, которые необходимо скомпилировать.

+0

Я думаю, что в случае над Makefile это единственное действительно работающее решение. – frlan

 Смежные вопросы

  • Нет связанных вопросов^_^