CPATH
C_INCLUDE_PATH
CPLUS_INCLUDE_PATH
OBJC_INCLUDE_PATH
Значение каждой переменной - это список каталогов, разделенных специальным символом, очень похожим на PATH, в котором нужно искать заголовочные файлы. Специальный символ PATH_SEPARATOR
зависит от цели и определяется во время сборки GCC. Для целей на базе Microsoft Windows это точка с запятой, а для почти всех других целей - двоеточие.
CPATH указывает список каталогов для поиска, как если бы они были указаны с помощью -I
, но после любых путей, указанных с помощью параметров -I
в командной строке. Эта переменная среды используется независимо от того, какой язык подвергается предварительной обработке.
Остальные переменные среды применяются только при предварительной обработке указанного языка. Каждый из них определяет список каталогов для поиска, как если бы они были указаны с помощью -isystem
, но после любых путей, указанных с помощью параметров -isystem
в командной строке.
Во всех этих переменных пустой элемент указывает компилятору искать его текущий рабочий каталог. Пустые элементы могут появляться в начале или в конце пути. Например, если значение CPATH
равно :/special/include
, это имеет тот же эффект, что и '-I. -I/special/include
'.
Я думаю, что большинство установок избегают использования переменных среды и вместо этого передают включаемые каталоги в командной строке, используя опцию -I
. обычно для изменения того, что передается в -I
.
, обычно используется переменная make-файла или параметр IDE.