Опция каталога GCC -система

С помощью этой ссылки: http://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html

Если стандартная система включает каталог или указанный каталог с -системой, также определяется с помощью -I, параметр -I будет проигнорирован. Каталог будет по-прежнему искать, но как системный каталог при его нормальном положение в системе включает цепочку.

Каким образом это можно запустить?

[14:45:37 Wed Apr 27] ~/junkPrograms/src  $gcc hello.c -isystem -I ../include/
../include/: file not recognized: Is a directory
collect2: ld returned 1 exit status
[14:45:42 Wed Apr 27] ~/junkPrograms/src  $gcc hello.c -I isystem ../include/
../include/: file not recognized: Is a directory
collect2: ld returned 1 exit status
[14:45:57 Wed Apr 27] ~/junkPrograms/src  $

и означает ли это, что если -система присоединена, то директору будет присвоен приоритет нормальной системы dir?

Ответ 1

В документации говорится:

-система dir

Искать dir для файлов заголовков, после всех каталогов, заданных -I, но перед стандартными системными каталогами. Отметьте его как системный каталог, чтобы он получил такое же специальное обращение, которое применяется к стандартным системным каталогам. Если dir начинается с =, то value = будет заменено префиксом sysroot; см. --sysroot и -isysroot.

Итак, вы используете это неправильно. Вам нужно указать каталог для самой опции -системы, она не работает как "модификатор" параметра -I, как будто вы пытаетесь.

Я считаю, что ваша команда должна быть:

$ gcc -isystem ../include hello.c