Как указать каталог include для конфигурации script

У меня есть Linux-система на моем рабочем месте с довольно старыми пакетами и без доступа root. Я собираю пакеты, которые мне нужны из источника, с --prefix=[somewhere in homedir]. Моя проблема в том, что я просто не могу понять, как убедить configure искать файлы заголовков в определенном каталоге. Источник - cpp. Я пробовал с переменными окружения, связанными с g++, и смотрел флаги и googling, но я не имел успеха. Может ли кто-нибудь помочь мне решить эту проблему?

Ответы

Ответ 1

Обычный способ сделать это - --with-<feature>=<header directory>.

Ответ 2

Обычно вы можете передавать дополнительные флаги компилятора внутри CXXFLAGS. Для gcc вы можете указать больше включенных каталогов с помощью -I/some/dir, например.

$ ./configure CXXFLAGS="-I/some/dir/"

где /some/dir/ содержит ваши заголовки.

Ответ 3

CPPFLAGS = C Preprocessor Flags, these flags will be used for C and C++ compilation.

CFLAGS = C Flags, these flags will be used when compiling C.

CXXFLAGS = C++ Flags, these flags will be used when compiling C++.

Флаг -I указывает дополнительный каталог include, который будет использоваться во время компиляции.

Как правило, рекомендуется использовать CPPFLAGS при указании включенных каталогов, так, как вы знаете, он будет использоваться, даже если у проекта есть некоторый источник, который скомпилирован как C.

Конечно, могут быть и ситуации, когда вы хотите, чтобы каталог include использовался C или С++, но не оба. В этом случае вам, очевидно, лучше будет работать с использованием CFLAGS или CXXFLAGS.

Ответ 4

Лучше использовать CPPFLAGS для указания включенных каталогов.

./configure CPPFLAGS="-I/your/whatever/includedir"