Содержание статьи

Проверка версии gcc помогает понять, какие стандарты языка доступны, какие флаги поддерживаются и соответствует ли установленный компилятор требованиям проекта. Разные инструменты и среды используют собственные пути к бинарным файлам, поэтому уточнение версии избавляет от ошибок при сборке.
Проверка версии gcc через команду gcc —version

Пример использования:
gcc --version
- Версию компилятора, например gcc (GCC) 12.2.0
- Информацию о лицензии GNU
- Дата сборки
Для скриптов и автоматизации удобно извлекать только номер версии. Это можно сделать с помощью команд оболочки:
- Linux/macOS:
gcc --version | head -n1 | awk '{print $3}' - Windows в PowerShell:
gcc --version | Select-String -Pattern 'gcc' | ForEach-Object { ($_ -split ' ')[2] }
Команда gcc -v предоставляет полную информацию о версии компилятора, включая номер сборки, конфигурационные параметры и пути к исполняемым файлам. Этот метод полезен при необходимости точного соответствия компилятора требованиям проекта.
Пример вызова:
gcc -v
| Параметр | Пример | Описание |
|---|---|---|
| gcc version | 12.2.0 | Точный номер сборки компилятора |
| Configured with | ../gcc-12.2.0/configure —enable-languages=c,c++ | Опции конфигурации при сборке GCC |
| Thread model | posix | Модель потоков, используемая компилятором |
| Target | x86_64-linux-gnu | Целевая архитектура сборки |
Для извлечения только номера сборки в скриптах используют команду:
gcc -v 2>&1 | grep "gcc version" | awk '{print $3}'
Определение пути к используемому gcc через which gcc

Команда which gcc позволяет определить полный путь к исполняемому файлу компилятора, который используется по умолчанию в системе. Это важно, когда установлено несколько версий GCC или компилятор находится не в стандартном каталоге.
Пример вызова:
which gcc
/usr/bin/gcc
Если команда возвращает пустую строку, компилятор не найден в переменной окружения PATH. В этом случае следует:
- Проверить, установлены ли пакеты GCC через пакетный менеджер системы.
- Добавить путь к исполняемому файлу в PATH:
export PATH=/путь/к/gcc/bin:$PATH
Для проверки версии конкретного исполняемого файла можно использовать полный путь:
/usr/bin/gcc --version
Это гарантирует, что используется именно нужная сборка компилятора, а не альтернативная версия в системе.
Проверка версии установленного gcc в Linux-пакетах

В Linux-пакетах GCC можно проверить через менеджеры пакетов для точного номера версии, установленной системой. Это важно, если нужно убедиться, что компилятор соответствует требованиям сборки.
Для дистрибутивов на базе Debian/Ubuntu:
dpkg -l | grep gcc
ii gcc-12 12.2.0-14ubuntu1 amd64 GNU C compiler
Для систем на базе Red Hat/CentOS/Fedora используется:
rpm -qa | grep gcc
gcc-12.2.1-1.fc37.x86_64
Для проверки версии конкретного пакета через apt или yum можно использовать:
- Debian/Ubuntu:
apt show gcc - Red Hat/CentOS/Fedora:
yum info gcc
Проверка версии gcc на macOS через Homebrew

На macOS GCC чаще всего устанавливают через Homebrew. Для проверки версии установленного компилятора используется команда:
brew list --versions gcc
gcc 12.2.0
Для уточнения номера сборки конкретного бинарного файла можно использовать полный путь:
/usr/local/bin/gcc-12 --version
Если в системе несколько версий GCC, Homebrew создает симлинки с номерами версий, например gcc-12 и gcc-13. Для переключения активной версии используют:
brew unlink gcc@12
brew link gcc@13
Эти команды обновляют системный путь к компилятору, гарантируя использование нужной версии при сборке проектов.
Выяснение версии gcc в среде MinGW на Windows

В MinGW для проверки версии GCC используется стандартная команда:
gcc --version
gcc (MinGW-W64) 12.2.0
Если установлено несколько версий, рекомендуется использовать полный путь к исполняемому файлу:
C:\MinGW\bin\gcc.exe --version
gcc --version | Select-String -Pattern "gcc" | ForEach-Object { ($_ -split ' ')[2] }
Если команда не выполняется, следует проверить, добавлен ли путь C:\MinGW\bin в переменную окружения PATH.
Проверка версии компилятора внутри CMake-проекта

В CMake можно определить используемую версию GCC с помощью встроенных переменных. Это позволяет убедиться, что проект собирается с корректной сборкой компилятора.
Способы проверки:
message(STATUS "C Compiler: ${CMAKE_C_COMPILER}")
message(STATUS "C Compiler Version: ${CMAKE_C_COMPILER_VERSION}")
- Для точной проверки конкретного бинарного файла можно использовать полный путь переменной CMAKE_C_COMPILER:
${CMAKE_C_COMPILER} --version
Если CMake выбирает не ту версию GCC, можно указать ее явно при запуске:
cmake -DCMAKE_C_COMPILER=/usr/bin/gcc-12 ..
Это гарантирует сборку проекта с нужной версией компилятора и предотвращает конфликты с другими установленными версиями.
Вопрос-ответ:
Как узнать, какая версия GCC используется по умолчанию в Linux?
Для проверки версии компилятора по умолчанию в Linux достаточно выполнить команду gcc —version. Она выведет номер версии, а также дополнительную информацию о сборке. Если требуется точная сборка и пути к компилятору, можно использовать gcc -v, где будут указаны все параметры конфигурации и целевая архитектура.
Можно ли проверить версию GCC, установленного через Homebrew на macOS?
Да, для этого используется команда brew list —versions gcc. Она покажет номер версии установленного пакета. Если нужно получить подробный номер сборки компилятора, можно вызвать полный путь к исполняемому файлу, например /usr/local/bin/gcc-12 —version. При наличии нескольких версий Homebrew позволяет переключаться между ними с помощью команд brew unlink и brew link.
Как проверить версию GCC в среде MinGW на Windows?
В MinGW используется стандартная команда gcc —version, которая выводит номер сборки. Если установлено несколько версий, можно указать полный путь к нужному бинарному файлу, например C:\MinGW\bin\gcc.exe —version. Для PowerShell есть вариант команды, который выводит только номер версии, что упрощает автоматизированные проверки.
Можно ли узнать версию GCC внутри проекта CMake перед сборкой?
Да, в файле CMakeLists.txt можно использовать переменные ${CMAKE_C_COMPILER} и ${CMAKE_C_COMPILER_VERSION}. При запуске cmake .. эти переменные выводятся в терминал. Если CMake выбирает другую версию, можно указать компилятор явно с помощью cmake -DCMAKE_C_COMPILER=/usr/bin/gcc-12 .., чтобы проект собирался с нужной сборкой.
Как определить путь к исполняемому файлу GCC в Linux?
Для этого используется команда which gcc. Она показывает полный путь к бинарному файлу компилятора, который запускается по умолчанию. Если вывод пустой, компилятор не найден в переменной PATH. В этом случае нужно проверить установку пакета GCC и добавить путь к бинарному файлу в PATH с помощью export PATH=/путь/к/gcc/bin:$PATH.
Как проверить, какая версия GCC используется при сборке проекта на Linux с несколькими установленными версиями компилятора?
Если в системе установлено несколько версий GCC, можно определить, какая используется по умолчанию, с помощью команды gcc —version. Она покажет номер текущей сборки. Для получения более детальной информации о конфигурации компилятора используется gcc -v, где отображается полный путь к бинарному файлу, поддерживаемые стандарты и опции сборки. Чтобы выбрать конкретную версию для проекта, можно указать полный путь к исполняемому файлу компилятора, например /usr/bin/gcc-12. Также в Linux распространена практика изменения символических ссылок в каталоге /usr/bin или использование утилиты update-alternatives, чтобы переключать версию GCC для системы без удаления других сборок.
