Будут ли 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

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