Перейти к содержимому

Как настроить среду CLion для разработки на C++ [1.5]

Как настроить среду CLion для разработки на C++ [1.5]

В этом уроке вы научитесь настраивать среду CLion для разработки на C++, разберёте каждую строку файла сборки CMakeLists.txt, напишете и запустите первую программу. В конце -- практические задания и чек-лист самопроверки.

Главная мысль: CLion -- IDE от JetBrains со встроенной поддержкой CMake, C/C++ и отладчика. Достаточно открыть папку с CMakeLists.txt -- и проект сразу готов к сборке и запуску.

Содержание

1. Цели урока

  • Установить и настроить CLion для разработки на C++.
  • Понимать назначение каждой строки в CMakeLists.txt.
  • Создать, скомпилировать и запустить консольную программу на C++.
  • Научиться использовать отладчик и встроенный Git-клиент CLion.
  • Понимать разницу между CLion и VS Code при работе с CMake-проектами.
Что особенно важно запомнить: CLion -- полноценная IDE, которая «из коробки» умеет работать с CMake, компилятором и отладчиком, в отличие от VS Code, где каждый из этих инструментов нужно ставить как отдельное расширение.
↑ К оглавлению

2. Что такое CLion и чем он отличается от VS Code

CLion -- кроссплатформенная IDE (Integrated Development Environment) от компании JetBrains, специально созданная для разработки на C и C++. Она включает редактор кода, систему сборки на базе CMake, встроенный отладчик, систему контроля версий и рефакторинг.

VS Code -- универсальный текстовый редактор, который становится IDE только после установки расширений. Для работы с C++ в VS Code вам нужно поставить минимум 4-5 расширений, а также вручную создавать конфигурационные файлы (tasks.json, launch.json).

Сравнение CLion и VS Code

КритерийVS CodeCLion
Тип Редактор + расширения Полноценная IDE
CMake Нужно расширение «CMake Tools» Встроен
Поддержка C/C++ Нужно расширение «C/C++» от Microsoft Встроена
Отладчик Нужна ручная настройка launch.json Работает «из коробки»
Markdown Нужно расширение Встроен
Git Базовый встроен, расширения расширяют Встроен с полным UI
PlatformIO Расширение Плагин (опционально)
Стоимость Бесплатный Платный (есть бесплатная студ. лицензия)
Практический вывод: Если вы работаете преимущественно с C/C++ -- CLion экономит время на настройку. Пункты 2-6 из исходного задания (установка расширений) в CLion выполняются автоматически.
↑ К оглавлению

3. Установка и первоначальная настройка CLion

Загрузка и установка

  1. Перейдите на сайт jetbrains.com/clion.
  2. Нажмите Download и выберите вашу ОС (Windows / macOS / Linux).
  3. Установите программу, следуя инструкциям мастера.
  4. При первом запуске активируйте лицензию:
    • 30-дневная триал-версия -- для всех;
    • бесплатная лицензия -- для студентов и преподавателей (подать заявку).
Запомните: CMake уже встроен в CLion. Ставить его отдельно не обязательно. Проверить глобальную установку можно командой cmake --version.

Настройка Toolchain (компилятора)

При первом запуске CLion автоматически ищет компилятор. Если он не найден -- настройте вручную: Settings → Build, Execution, Deployment → Toolchains.

ОСРекомендуемый тулчейнКак установить
Windows MinGW-w64 / MSVC / WSL MinGW: mingw-w64.org
MSVC: установите Visual Studio Build Tools
Linux GCC sudo apt install build-essential cmake
macOS Clang xcode-select --install

После добавления тулчейна CLion покажет зелёную галочку напротив каждого компонента (C Compiler, C++ Compiler, Debugger, CMake).

Типичные ошибки при установке

Ошибка 1: «CMake -- not found» при открытии проекта

Причина: CLion не нашёл ни встроенный, ни системный CMake.

Решение: Перейдите в Settings → Build, Execution, Deployment → Toolchains и вручную укажите путь к CMake или выберите «Bundled».

Ошибка 2: «No C++ compiler found»

Причина: Компилятор не установлен или не виден в системном PATH.

Решение (Windows): Установите MinGW-w64 и добавьте путь к папке bin в переменную окружения PATH. Перезапустите CLion.

# Проверка из терминала
g++ --version
↑ К оглавлению

4. CMakeLists.txt -- разбор каждой строки

Что такое CMake и зачем нужен CMakeLists.txt

CMake -- это кроссплатформенная система автоматизации сборки. Она не компилирует код сама, а генерирует инструкции для компилятора (Makefile, проект Visual Studio, Ninja-файлы и т.д.).

Файл CMakeLists.txt -- это «рецепт» сборки вашего проекта. CLion читает именно его, чтобы понять: какие файлы компилировать, какой стандарт C++ использовать и как называется итоговый исполняемый файл.

Построчный разбор файла

Вот минимальный CMakeLists.txt для нашего проекта:

cmake_minimum_required(VERSION 3.26)
project(fibonacci_project)
set(CMAKE_CXX_STANDARD 17)
add_executable(fibonacci main.cpp)

Разберём каждую строку:

Строка 1: cmake_minimum_required(VERSION 3.26)

Назначение: задаёт минимальную версию CMake, необходимую для сборки проекта.

Зачем: разные версии CMake поддерживают разные команды и возможности. Если у пользователя CMake старше указанной версии, он получит понятную ошибку вместо загадочных сбоев.

Как выбрать версию: укажите версию, которая установлена у вас. Узнать её можно командой:

cmake --version
# Пример вывода: cmake version 3.26.4
Совет: CLion поставляется с «Bundled CMake» (обычно актуальной версии). Если вы не используете глобальный CMake, версия Bundled CMake отображается в Settings → Toolchains.

Строка 2: project(fibonacci_project)

Назначение: объявляет имя проекта.

Что делает «под капотом»:

  • Создаёт переменные PROJECT_NAME, PROJECT_SOURCE_DIR, PROJECT_BINARY_DIR.
  • Имя проекта будет отображаться в CLion в заголовке окна.

Расширенная форма (опционально):

# Можно указать версию и языки проекта
project(fibonacci_project VERSION 1.0 LANGUAGES CXX)
Совет: используйте понятные имена на латинице, без пробелов. Допустимы символы: буквы, цифры, _ и -.

Строка 3: set(CMAKE_CXX_STANDARD 17)

Назначение: задаёт стандарт языка C++, который будет использоваться при компиляции.

Популярные значения:

ЗначениеСтандартГод принятия
11 C++11 2011
14 C++14 2014
17 C++17 2017
20 C++20 2020
23 C++23 2023

Что происходит при компиляции: CMake добавляет флаг -std=c++17 (для GCC/Clang) или /std:c++17 (для MSVC).

Рекомендация: для учебных проектов C++17 -- оптимальный выбор. Он поддерживается всеми современными компиляторами и содержит удобные возможности (std::optional, if constexpr, structured bindings и др.).

Строка 4: add_executable(fibonacci main.cpp)

Назначение: создаёт цель сборки (target) -- исполняемый файл с именем fibonacci, скомпилированный из файла main.cpp.

Синтаксис:

add_executable(<имя_файла> <файл1.cpp> [файл2.cpp ...])

Если файлов несколько:

# Проект из нескольких файлов
add_executable(fibonacci
    main.cpp
    utils.cpp
    math_helpers.cpp
)

Результат: после сборки в папке cmake-build-debug/ появится файл fibonacci (Linux/macOS) или fibonacci.exe (Windows).

Итоговая схема: как CLion использует CMakeLists.txt

CMakeLists.txt        CLion (CMake)          Kompiliator
+--------------+    +------------------+    +--------------+
| project(...) | -> | Generiruet       | -> | g++ / clang++|
| set(CXX_STD) |    | build-instrukcii |    | / cl.exe     |
| add_exec(...)|    | (Makefile/Ninja) |    |              |
+--------------+    +------------------+    +------+-------+
                                                   |
                                                   v
                                           fibonacci(.exe)

Полезные команды CMake

Вывод сообщения при конфигурации

message(STATUS "Kompiliator: ${CMAKE_CXX_COMPILER}")
message(STATUS "Standart: C++${CMAKE_CXX_STANDARD}")

Добавление флагов компиляции

# Vkliuchit preduprezhdeniia
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra")

Типичные ошибки в CMakeLists.txt

Ошибка 1: неправильное имя файла

Файл должен называться строго CMakeLists.txt (с точностью до регистра!). Имя cmakelists.txt или CMakeList.txt не будет распознано.

Запомните: буква «L» в «Lists» -- заглавная, и в конце «s».

Ошибка 2: файл main.cpp не найден

# Oshibka: fail lezhit v src/, a v CMake ukazan bez puti
add_executable(fibonacci main.cpp)

# Pravilno:
add_executable(fibonacci src/main.cpp)

Пути в add_executable указываются относительно расположения CMakeLists.txt.

Ошибка 3: пропущена команда project()

# Oshibka: net project()
cmake_minimum_required(VERSION 3.26)
set(CMAKE_CXX_STANDARD 17)
add_executable(fibonacci main.cpp)
# CMake vydast preduprezhdenie i podstavit imia po umolchaniiu

Всегда указывайте project() -- это хорошая практика.

↑ К оглавлению

5. Создание проекта и исходного кода

Создание нового проекта

  1. Откройте CLion.
  2. Выберите File → New Project.
  3. Укажите тип: C++ Executable.
  4. Укажите стандарт языка: C++17.
  5. Задайте путь к папке проекта (например, ~/projects/fibonacci_project).
  6. Нажмите Create.

CLion автоматически создаст:

fibonacci_project/
  CMakeLists.txt        <-- skript sborki
  main.cpp              <-- iskhodnyi kod
  .idea/                <-- nastroiki CLion (ne kommitit v Git)
  cmake-build-debug/    <-- papka sborki (sozdaiotsia pri pervoi kompilyacii)

Открытие существующего проекта (перенос из VS Code)

Если у вас уже есть папка с CMakeLists.txt и main.cpp (например, после работы в VS Code):

  1. File → Open
  2. Укажите папку, в которой лежит CMakeLists.txt.
  3. CLion спросит «Open as Project?» -- нажмите OK.
  4. CMake автоматически сконфигурируется. Результат виден во вкладке CMake (внизу).
Запомните: файлы .vscode/, tasks.json, launch.json из VS Code больше не нужны. CLion их игнорирует. Можете удалить их или оставить -- они не помешают.

Программа: первые 5 чисел Фибоначчи

Замените содержимое main.cpp на:

#include <iostream>

int main() {
    int n = 5;       // kolichestvo chisel
    int a = 0;       // pervoe chislo Fibonachchi
    int b = 1;       // vtoroe chislo Fibonachchi

    std::cout << "Pervye " << n << " chisel Fibonachchi:" << std::endl;

    for (int i = 0; i < n; ++i) {
        std::cout << a << " ";
        int temp = a + b;   // vychisliaem sleduyushchee chislo
        a = b;               // sdvigaem a vperiod
        b = temp;            // sdvigaem b vperiod
    }

    std::cout << std::endl;
    return 0;
}

Ожидаемый вывод:

Pervye 5 chisel Fibonachchi:
0 1 1 2 3

Как работает алгоритм:

Итерация ia (выводим)btemp = a + b
0 0 1 1
1 1 1 2
2 1 2 3
3 2 3 5
4 3 5 8

Типичные ошибки в коде

Ошибка 1: забыли #include <iostream>

// #include <iostream>  <-- zabyli podkliuchit

int main() {
    std::cout << "Hello";  // Oshibka kompilyacii: 'cout' is not a member of 'std'
    return 0;
}

Решение: всегда подключайте заголовочный файл для используемых функций.

Ошибка 2: путаница с << и >>

std::cout >> "Hello";  // Oshibka! >> -- eto operator vvoda (dlia cin)
std::cout << "Hello";  // Pravilno: << -- operator vyvoda
Запомните: cout << = вывод (стрелки «от программы к экрану»), cin >> = ввод (стрелки «от клавиатуры к переменной»).
↑ К оглавлению

6. Сборка, запуск, отладка и Git

Сборка и запуск

В CLion сборка и запуск выполняются одним действием:

ДействиеГорячая клавишаКнопка
Только собрать (Build) Ctrl + F9 Build → Build Project
Собрать и запустить (Run) Shift + F10 Зелёная кнопка Play на панели
Отладка (Debug) Shift + F9 Кнопка Debug на панели

При первом запуске CLion автоматически:

  • создаст папку cmake-build-debug/;
  • запустит CMake для конфигурации;
  • скомпилирует программу;
  • покажет вывод во встроенном терминале (вкладка Run внизу).

Отладка (Debug)

Отладчик в CLion работает «из коробки». Для использования:

  1. Поставьте точку останова (breakpoint) -- кликните на серую полосу слева от нужной строки (появится красный кружок).
  2. Нажмите Shift + F9 (или кнопку Debug).
  3. Программа остановится на отмеченной строке.
  4. Используйте панель отладки:
    • Step Over (F8) -- выполнить текущую строку;
    • Step Into (F7) -- войти внутрь вызова функции;
    • Resume (F9) -- продолжить до следующего breakpoint;
    • Variables -- панель с текущими значениями переменных.
Сравнение с VS Code: В VS Code для отладки C++ нужно вручную создавать файл launch.json с путями к отладчику (gdb/lldb). В CLion всё настроено автоматически.

Подключение Git

  1. Убедитесь, что Git установлен: git --version.
  2. В CLion: VCS → Enable Version Control Integration → Git.
  3. Создайте файл .gitignore в корне проекта:
# Nastroiki CLion (individualny dlia kazhdogo razrabotchika)
.idea/

# Papka sborki (generiruetsia avtomaticheski)
cmake-build-*/

# Skompilyrovannye faily
*.exe
*.out
*.o
  1. Сделайте первый коммит: Ctrl + K, напишите сообщение, нажмите Commit.
  2. Опубликуйте в удалённый репозиторий: VCS → Git → Push (Ctrl + Shift + K).

Типичные ошибки при сборке

Ошибка 1: «Process finished with exit code -1073741515»

Причина (Windows): при запуске программы не находятся DLL-библиотеки MinGW.

Решение: добавьте путь к mingw/bin в системную переменную PATH, либо в настройках Run Configuration укажите переменную окружения.

Ошибка 2: при коммите CLion добавил папку .idea/

Решение: создайте .gitignore до первого коммита. Если уже закоммитили:

git rm -r --cached .idea/
git commit -m "Remove .idea from tracking"
↑ К оглавлению

7. Практика: типовые задачи (с решениями)

Задачи на CMakeLists.txt

Задача 1: Написать CMakeLists.txt с нуля

Создайте CMakeLists.txt для проекта «hello» с файлом hello.cpp, стандарт C++20, минимальная версия CMake -- 3.20.

cmake_minimum_required(VERSION 3.20)
project(hello)
set(CMAKE_CXX_STANDARD 20)
add_executable(hello hello.cpp)

Задача 2: Проект из нескольких файлов

У вас есть файлы: main.cpp, math_utils.cpp, math_utils.h. Напишите CMakeLists.txt.

cmake_minimum_required(VERSION 3.26)
project(multi_file_project)
set(CMAKE_CXX_STANDARD 17)

# Zagolovochnye faily (.h) ne nuzhno ukazyvat v add_executable,
# no mozhno -- dlia udobstva navigacii v IDE
add_executable(multi_file
    main.cpp
    math_utils.cpp
)

Задача 3: Найти ошибку в CMakeLists.txt

Что не так с этим файлом?

cmake_minimum_required(VERSION 3.26)
set(CMAKE_CXX_STANDARD 17)
add_executable(app main.cpp)

Ответ: отсутствует команда project(). CMake выдаст предупреждение. Добавьте project(app) после первой строки.

Задачи на C++

Задача 4: Вывести N чисел Фибоначчи (ввод с клавиатуры)

Модифицируйте программу: пусть пользователь сам вводит количество чисел.

#include <iostream>

int main() {
    int n;
    std::cout << "Skolko chisel Fibonachchi vyvesti? ";
    std::cin >> n;

    int a = 0, b = 1;
    for (int i = 0; i < n; ++i) {
        std::cout << a << " ";
        int temp = a + b;
        a = b;
        b = temp;
    }
    std::cout << std::endl;
    return 0;
}

Задача 5: Фибоначчи через рекурсию

Реализуйте функцию fib(n), возвращающую n-е число Фибоначчи, и выведите первые 5.

#include <iostream>

int fib(int n) {
    if (n <= 0) return 0;
    if (n == 1) return 1;
    return fib(n - 1) + fib(n - 2);
}

int main() {
    std::cout << "Pervye 5 chisel Fibonachchi:" << std::endl;
    for (int i = 0; i < 5; ++i) {
        std::cout << fib(i) << " ";
    }
    std::cout << std::endl;
    return 0;
}
// Vyvod: 0 1 1 2 3
Внимание: рекурсивная версия крайне медленна для больших n (экспоненциальная сложность). Для учебных целей подходит, для реальных -- нет.

Задача 6: Соответствие пунктов задания VS Code → CLion

Заполните таблицу: что из исходного задания (VS Code) соответствует какому действию в CLion.

#Исходное (VS Code)В CLion
1 Установить VS Code Установить CLion
2 Установить CMake Уже встроен
3 Установить инструменты C/C++ Уже встроены
4 Установить инструменты CMake Уже встроены
5 Установить PlatformIO Плагин (Settings → Plugins), если нужен
6 Установить Markdown Уже встроен
7 Создать директорию проекта File → New Project
8 Создать CMakeLists.txt Создаётся автоматически при New Project
9 Создать main.cpp Создаётся автоматически / редактируем
10 Скомпилировать Shift + F10
11 Загрузить в Git VCS → Enable Version Control → Git
↑ К оглавлению

8. Чек-лист самопроверки знаний

Отметьте пункты, которые вы действительно понимаете и можете применить без подсказок.

НавыкПроверка
Установка CLion Могу скачать, установить CLion и активировать лицензию
Настройка Toolchain Могу проверить/настроить компилятор в Settings → Toolchains
Создание проекта Могу создать новый C++ проект через File → New Project
Открытие существующего проекта Могу открыть папку с CMakeLists.txt и CLion распознает её как проект
cmake_minimum_required Могу объяснить, зачем задаётся минимальная версия CMake
project() Могу объяснить назначение и указать имя проекта
set(CMAKE_CXX_STANDARD) Могу выбрать нужный стандарт C++ и объяснить, что делает эта строка
add_executable() Могу указать имя цели и список исходных файлов
Сборка и запуск Могу скомпилировать и запустить программу клавишей Shift+F10
Отладка Могу поставить breakpoint и пройти код пошагово (F7/F8)
Git в CLion Могу инициализировать репозиторий, создать .gitignore и сделать коммит
Числа Фибоначчи Могу написать программу, вычисляющую N чисел Фибоначчи (цикл или рекурсия)
↑ К оглавлению

Ссылки по теме

Вторник, 24 февраля 2026
Как настроить среду CLion для разработки на C++ [1.5]