> For the complete documentation index, see [llms.txt](https://skkv-itmo.gitbook.io/c-cpp-cookies/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://skkv-itmo.gitbook.io/c-cpp-cookies/environments/ide/clion/tools-clion.md).

# Настройки CLion

## Configurations

Конфигурация позволяет задать toolchain и параметры запуска.

![](/files/ZRIElg8wJjypa8hIilxn)

Пример настройки конфигурации:

1. Добавить новый C/C++ File.

![](/files/U2Mx1UXMAIn4vlqyr9SN)

2. В нём указать желаемый `toolchain`, путь до файла и аргументы для запуска (аргументы командной строки, начиная с `argv[1]`).

![](/files/x0WaeDySbNDs6reK5D7E)

Указание опций компиляции не обязательно, если устраивают дефолтные опции. На скришоте выше приведён пример указания ключа компиляции.

## Toolchain

То же самое, что и `toolset` в VS = компилятор + линковщик + стандартные библиотеки.

По умолчанию CLion ставит вместе с собой (в новых версиях) MinGW (Windows) / использует GCC (Linux) / использует clang (MacOS, но это не точно).

Можно добавить свои `toolchain`, [подробнее](https://www.jetbrains.com/help/clion/how-to-switch-compilers-in-clion.html) и ещё [подробнее](https://www.jetbrains.com/help/clion/quick-tutorial-on-configuring-clion-on-windows.html):

![](/files/LmwrfolsePtVFUsb7YzH)

Для проекта можно настроить профили (`toolchain` + конфигурации). Автоматически при изменении `toolchain` с установленного по умолчанию к названию профиля будет добавляться суффикс с названием выбранного `toolchain`. Параметры Cmake можно переоределить в разделе CMake Options. сменить подсистемы сборки (generator) можно в разделе generator.

![](/files/bOcTOoOPCPBktrQD4Jp2)

После применения профилей будут вызвана автоматически генерация под всеми профилями:

![](/files/6BV3FhQolsOBjoieg2A5)

Если возникнут какие-то ошибки или предупреждения, то информация о них появится в логах в нижнем окне.

Примечение: при изменении `CMakeLists.txt` они автоматически сохраняются, но регенерация кеша сборки происходит после нажатия на `Reload` (возможно в настройках среды разработки можно автоматически применить изменения).

![](/files/zfJ5ajrBHnFXXU7Qwws1)

Настройка аргументов комнадной строки и рабочей директории происходит в `debug configuration` проекта

![](/files/niCFxwsuSbW1AnKLWKvw)
