Как установить boost на Linux с пользовательским расположением gcc?

Мой компилятор gcc находится в произвольном месте /my/path/hpgcc

Я скачал источники повышения. Запустил bootstrap.sh, но не удалось, потому что он работает с gcc по умолчанию.

Заглядывая в него, я вижу, что он терпит неудачу в первую очередь: создание движка Boost.Build:

gcc -o bootstrap/jam0 command.c compile.c debug.c expand.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c newstr.c option.c output.c parse.c pathunix.c pathvms.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c pwd.c class.c native.c md5.c w32_getreg.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c execunix.c fileunix.c

(происходит сбой, потому что выполняется с gcc по умолчанию, а не с моей версией gcc).

Я пытался изменить путь GCC в файле user-config.jam, но это не помогает. Возможно, потому что скрипт сборки Boost.Build boost_1_47_0/tools/build/v2/engine/build.sh не использует user-config.jam, а просто использует местоположения по умолчанию.

Любое решение?

2 ответа

Решение

Добавьте строку:

using gcc : : /my/path/hpgcc ;

в user-config.jam, user-config.jam обычно будет в /path/to/boost/tools/build/v2/, но вы можете поставить кастом user-config.jam или же site-config.jam в любом из мест, перечисленных здесь.

/my/path/hpgcc должен быть полный путь к исполняемому файлу g++.


РЕДАКТИРОВАТЬ (Игорь Окс): Что в итоге решило проблему, так это то, что я отредактировал boost_1_47_0/tools/build/v2/engine/build.sh, чтобы он использовал мой пользовательский gcc.

Мы делаем это в нашей среде сборки, просто определяя переменные среды PATH и LD_LIBRARY_PATH, чтобы сначала получить желаемый GCC.

Другие вопросы по тегам