Установка компилятора C++ и сборка первой программы
Пошаговая настройка компилятора C++ на Windows, macOS и Linux и сборка первой программы из командной строки. От установки до работающего hello.exe — около 20 минут.

К концу этой инструкции у вас будет установленный компилятор, файл hello.cpp и собранная из него программа, которая выведет строку в терминал. На всё уйдёт около 15–20 минут, если интернет не подведёт при скачивании. Мы соберём программу вручную из командной строки — так вы поймёте, что именно происходит, а IDE подключите позже, когда захотите.
Разбираем три системы: Windows (через MSYS2 и компилятор GCC), macOS (Clang из инструментов разработчика Apple) и Linux (GCC из репозитория). Выберите свой раздел и пропустите остальные.
Что нужно до начала
- Учётная запись с правами администратора — установка компилятора требует прав на запись в системные каталоги.
- Доступ в интернет: пакеты компилятора весят от 200 МБ до 1,5 ГБ в зависимости от системы.
- Любой текстовый редактор для кода. Подойдёт даже «Блокнот», но удобнее VS Code, Notepad++ или Sublime Text.
- Готовность работать в терминале: PowerShell на Windows, Terminal на macOS, любой эмулятор на Linux.
Проверьте разрядность системы на Windows: почти везде сейчас 64 бита, и мы ставим 64-битный компилятор. Если у вас старая 32-битная машина, набор пакетов будет другим — это отдельный случай, здесь не рассматриваем.
Windows: GCC через MSYS2
На Windows нет встроенного компилятора C++. Есть несколько способов его получить; MSYS2 — самый предсказуемый вариант, который даёт свежий GCC и удобное обновление пакетов.
Шаг 1. Установить MSYS2
Скачайте установщик с официального сайта msys2.org и запустите его. Оставьте путь установки по умолчанию (C:\msys64) — так меньше шансов на проблемы с пробелами в пути. После установки откроется окно терминала MSYS2.
Проверка: открылось чёрное окно терминала с приглашением вида user@COMPUTER MSYS ~.
Шаг 2. Обновить пакетную базу
В окне MSYS2 выполните команду обновления. Она синхронизирует список пакетов и обновит систему.
pacman -Syu
Терминал может попросить закрыть окно после первого этапа обновления — закройте его и снова откройте MSYS2, затем повторите pacman -Syu. Это нормальное поведение, а не ошибка.
Шаг 3. Установить компилятор
Установите набор инструментов сборки для 64-битной архитектуры. Пакет mingw-w64-ucrt-x86_64-gcc содержит компилятор C и C++.
pacman -S mingw-w64-ucrt-x86_64-gcc
На вопрос о выборе пакетов нажмите Enter (установятся все по умолчанию), затем подтвердите установку вводом Y.
Шаг 4. Добавить компилятор в PATH
Чтобы вызывать g++ из обычного PowerShell, а не только из MSYS2, добавьте путь к бинарникам в переменную окружения. Каталог по умолчанию — C:\msys64\ucrt64\bin.
- Нажмите Win, наберите «Изменение системных переменных среды», откройте.
- Кнопка «Переменные среды» → в списке «Переменные среды пользователя» выберите
Path→ «Изменить». - «Создать» → вставьте
C:\msys64\ucrt64\bin→ OK во всех окнах.
Проверка: откройте новое окно PowerShell (старое не увидит изменений) и выполните:
g++ --version
Должна появиться строка вроде g++ (Rev..., Built by MSYS2 project) 14.x.x. Точный номер версии зависит от того, что было в репозитории на момент установки.
macOS: Clang из Command Line Tools
На macOS компилятор Clang входит в инструменты разработчика Apple. Отдельно скачивать GCC не нужно — команда g++ в системе обычно перенаправлена на Clang, и для первой программы этого достаточно.
Шаг 1. Установить Command Line Tools
Откройте Terminal и выполните:
xcode-select --install
Появится графическое окно с предложением установить инструменты — согласитесь и дождитесь окончания. Если инструменты уже стоят, терминал сообщит об этом.
Проверка: выполните clang++ --version. Должна вывестись строка с Apple clang version и номером.
Linux: GCC из репозитория
Дистрибутивы на базе Debian и Ubuntu ставят весь набор для сборки одним метапакетом build-essential. В нём — компиляторы GCC/G++ и утилита make.
sudo apt update
sudo apt install build-essential
На Fedora команда другая: sudo dnf install gcc-c++. На Arch — sudo pacman -S gcc.
Проверка: g++ --version выводит номер версии GCC.
Первая программа
Дальше шаги одинаковые для всех систем. Разница только в том, вызываете вы g++ (Windows, Linux) или clang++ (macOS) — но на macOS g++ тоже работает как псевдоним.
Шаг 1. Создать файл
Создайте отдельную папку, например cpp-first, и в ней файл hello.cpp со следующим содержимым:
#include <iostream>
int main() {
// Выводим строку и перевод на новую строку
std::cout << "Привет, C++!" << std::endl;
return 0;
}
Сохраните файл с кодировкой UTF-8 — иначе кириллица в консоли может выйти нечитаемой. В VS Code кодировка видна в строке состояния внизу.
Шаг 2. Перейти в папку в терминале
cd путь/к/папке/cpp-first
На Windows путь с дисками выглядит как cd C:\Users\Имя\cpp-first. Убедитесь, что вы в нужном каталоге: команда dir (Windows) или ls (macOS/Linux) должна показать hello.cpp.
Шаг 3. Скомпилировать
Соберите программу. Флаг -o задаёт имя итогового файла.
g++ hello.cpp -o hello
На Windows файл получит имя hello.exe автоматически. Если команда отработала молча, без вывода — это успех. Компилятор сообщает только об ошибках и предупреждениях.
Проверка: в папке появился файл hello (или hello.exe).
Шаг 4. Запустить
Запуск отличается по системам:
- Windows (PowerShell):
.\hello.exe - macOS / Linux:
./hello
В терминале появится Привет, C++!. Если так — вы собрали и запустили первую программу на C++.
Компиляция вручную кажется лишней возни, но именно она показывает, что делает IDE за вас в один клик: берёт исходник, вызывает компилятор, собирает исполняемый файл. Поняв это один раз, вы перестанете бояться сообщений сборщика.
Полезные флаги для учёбы
С самого начала привыкайте компилировать с включёнными предупреждениями и указанием стандарта языка — так вы будете ловить ошибки раньше.
g++ -std=c++17 -Wall -Wextra hello.cpp -o hello
-std=c++17— фиксирует стандарт языка. Можно взятьc++20, если ваша версия GCC/Clang его поддерживает.-Wall -Wextra— включают предупреждения о подозрительных местах, которые формально не ошибка, но часто ведут к багам.
Если не получилось
- «g++ не является внутренней или внешней командой» (Windows) — компилятор не в PATH или вы не открыли новое окно терминала после правки PATH. Закройте все окна PowerShell и откройте заново; перепроверьте, что путь
C:\msys64\ucrt64\binдействительно добавлен и содержитg++.exe. - «command not found: g++» (macOS/Linux) — компилятор не установлен. Повторите шаг установки для своей системы. На macOS попробуйте
clang++вместоg++. - «No such file or directory: hello.cpp» — вы не в той папке. Проверьте
ls/dir: файл должен быть в текущем каталоге, а имя — без опечаток. - «fatal error: iostream: No such file or directory» — установился компилятор C, но не C++. На Debian/Ubuntu поставьте именно
g++илиbuild-essential, а не толькоgcc. - В консоли вместо кириллицы «кракозябры» — файл сохранён не в UTF-8, либо консоль Windows в другой кодовой странице. Пересохраните файл в UTF-8; для теста можно временно заменить русский текст на латиницу.
Что делать дальше
Как только первая программа собирается и запускается, полезно перейти на две вещи. Первая — редактор с подсветкой и подсказками: VS Code с расширением C/C++ от Microsoft подхватит установленный компилятор и даст запуск в один клик. Вторая — система сборки: собирать вручную удобно для одного файла, но с ростом проекта смотрите в сторону make или CMake, которые сами отслеживают, что нужно пересобрать. Пока же попробуйте изменить строку вывода, пересобрать программу и убедиться, что изменение попало в исполняемый файл.
Субтитры и таймкоды: Расшифровка речи и субтитры по правилам читаемости: 42 знака в строке, две строки, минимум секунда на реплику.
Спросить за 40 ₽Источники: MSYS2 — официальный сайт и инструкция по установке, GCC — документация по опциям компилятора
Частые вопросы
У меня другая версия GCC, чем в статье. Инструкция сработает?
Обязательно ставить MSYS2 на Windows, или есть проще?
Нужна ли IDE на старте?
Компиляция прошла без вывода — это ошибка?
Почему на macOS команда g++ работает, если компилятор называется Clang?
Кириллица в консоли выводится нечитаемо, хотя программа собралась. Что делать?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.