Есть ли переменная среды для GCC/g++ для поиска файлов .h во время компиляции?
Я google мой вопрос, есть люди говорят LIBRARY_PATH, C_PATH, C_INCLUDE_PATH, CPLUS_PATH, так какой из них?
Есть ли переменная среды для GCC/g++ для поиска файлов .h во время компиляции?
Я google мой вопрос, есть люди говорят LIBRARY_PATH, C_PATH, C_INCLUDE_PATH, CPLUS_PATH, так какой из них?
От: http://gcc.gnu.org/onlinedocs/cpp/Environment-Variables.html
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
".
Я думаю, что большинство настроек избегают использования переменных окружения и вместо этого передают каталоги include в командной строке с помощью опции -I
. обычно будет переменная makefile или параметр IDE для управления передачей -I
.
Просто посмотрите фактическую документацию gcc. Там все объяснено.
Подводя итог:
-l
)-I
)Кроме того, если вы не уверены, какие пути проверяются в вашей системе, вы можете использовать
cpp -v
Что скажет вам, какие пути проверяются на .h файлы, вывод включает разделы:
#include "..." search starts here:
#include <...> search starts here: