2013-03-22 3 views
0
 gcc main.c -o main -I include 

Я создаю небольшое приложение c, где все мои исходные файлы находятся в каталоге src, а все файлы заголовков в каталоге include, а также все распространенные файлы находятся в общем каталоге. Все эти три каталога находятся под одним каталогом, называемым каталогом «app», а также main.c. Теперь я пытаюсь запустить main.c, который содержит директиву #include, включать заголовочные файлы из include и вызовы функций в .c-файлы как в обычных, так и в src-каталогах. Я использую -I, но он полезен только для одного указателя пути каталога. Как сообщить компилятору, что вы смотрите в обоих общих каталогах src и включаете каталоги для разрешения вызовов. Просьба предложить мне команду или сделать файл, чтобы включить путь к нескольким каталогам при компиляции с помощью gcc.Как включить файлы из нескольких каталогов в C на Linux?

+1

смотреть [это] (http://stackoverflow.com/questions/5846804/multiple-include-paths-with-gcc-c) может быть полезно –

+0

Вы включаете файлы .c? – LtWorf

+0

Ваша грамматика неясна. Что находится в 'common /'? – Beta

ответ

2

Возможны несколько вариантов -I. Описание варианта -IOptions for Directory Search от гласит:

Добавить реж каталог в начало списка каталогов для поиска заголовочных файлов. Это можно использовать для переопределения файла заголовка системы, подставляя вашу собственную версию, поскольку эти каталоги просматриваются перед каталогами заголовков системных заголовков. Однако вы не должны использовать эту опцию для добавления каталогов, содержащих файлы заголовков систем поставщика (используйте для этого эту -систему). Если вы используете несколько опций -I, каталоги сканируются в порядке слева направо; после этого появляются стандартные системные каталоги.

Например:

НКА main -o главный -Iinclude -Isrc/включает -Icommon/включает

Обрати внимание, что если main.c используют функцию, реализованную в другом файле .c (-ы), тогда другие файлы .c также будут скомпилированы и связаны в окончательную двоичную программу. Например:

GCC main.c SRC/another.c -o Основной -Iinclude -Isrc/включают -Icommon/включают

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