Будут ли GCC 4.8 и 4.7 мирно сосуществовать на одной машине?
Будут ли установки gcc 4.7 и 4.8 мирно сосуществовать на одной машине? Первоначально это будет машина с Ubuntu 12.10 (Quantal Quetzal), но позже она может распространиться на другие машины и дистрибутивы, возможно, даже на мой mac (это будет 4.8 и последний поставленный apple gcc на Mountain Lion). Я пытаюсь протестировать улучшенную диагностику gcc в 4.8, сравнивая ее с clang, поэтому моя потребность в gcc 4.8.
Как вы вызываете каждую установку gcc, если ответ на вышеприведенный ответ положительный?
3 ответа
Прежде всего: да, вы можете иметь несколько установок gcc на вашем компьютере.
Если вы устанавливаете gcc из репозиториев Ubuntu по умолчанию, вы можете вызывать разные версии, используя gcc-4.6
, gcc-4.7
.... Тестовый репозиторий Ubuntu ubuntu-toolchain-r/test
имеет пакет gcc-4.7. AFAIK это еще не пакет gcc-4.8. Существуют другие репозитории, которые поддерживают пакеты gcc (даже для текущих версий 4.8 для разработки; просто google для репозитория ubuntu gcc).
Кроме этого вы всегда можете также скомпилировать gcc из исходного кода ( http://gcc.gnu.org/install/index.html) и иметь несколько версий ( http://gcc.gnu.org/faq.html).
Согласно gcc FAQ вы можете установить несколько версий. Взгляните на эту ссылку http://gcc.gnu.org/faq.html
Если вы собираете GCC самостоятельно (убедитесь, что каталог сборки находится за пределами исходного каталога), вы можете, например, ../gcc-trunk-srcdir/configure
это, например, с --program-suffix=-trunk
(и, возможно, некоторые --prefix
) тогда он будет установлен как gcc-trunk
, g++-trunk
и т.д. Таким образом, вы можете установить несколько версий GCC.
Тем не менее, я предлагаю избегать компиляции программы со смесью GCC. Используйте тот же GCC для компиляции данного приложения или библиотеки. Имейте в виду, что вы можете столкнуться с незначительными несовместимостями вокруг libstdc++
библиотека.
Не забывайте --enable-plugins
опция для недавнего GCC (к сожалению, эта опция не включена по умолчанию, IIRC). Вы можете даже испытать желание попробовать MELT (высокоуровневый домен-специфический язык для расширения GCC).
В некоторых дистрибутивах недавний снимок ствола GCC может быть упакован как gcc-snapshot