Опция каталога GCC -isystem - PullRequest
15 голосов
/ 27 апреля 2011

По этой ссылке: http://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html

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

Каким образом это можно запустить?означает, что если присоединена -система , то каталог будет иметь приоритет над обычным системным каталогом?

1 Ответ

24 голосов
/ 27 апреля 2011

Документация гласит:

-системный каталог

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

Так что вы используете это неправильно. Вам нужно указать каталог для самой опции -isystem, он не работает как «модификатор» опции -I, как вы, похоже, пытаетесь.

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

$ gcc -isystem ../include hello.c

Системные заголовки получают специальную обработку w.r.t. предупреждения (поскольку они предназначены только для чтения, а некоторые не могут быть записаны в строго соответствующем коде)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...