Как настроить clion на windows c

On Windows, CLion toolchains include the build tool, C and C++ compilers, debugger executable, and the environment. You can select one of the pre-defined toolchain setups (MinGW, Cygwin, Microsoft Visual C++, or WSL), Remote Host, Docker) or configure a custom toolchain (System):

On Windows, CLion toolchains include the build tool, C and C++ compilers, debugger executable, and the environment. You can select one of the pre-defined toolchain setups (MinGW, Cygwin, Microsoft Visual C++, or WSL), Remote Host, Docker) or configure a custom toolchain (System):

Windows toolchain options

Watch this video for an overview of Windows toolchain options:

For details on Remote Host toolchains, see Remote with local sources. If you are working with a Docker container, see Docker toolchain.

MinGW

CLion bundles a version of the MinGW toolset for quick setup. The exact version bundled is MinGW-w64 9.0 with languages=c,c++, posix threads, and seh exceptions. You can use this bundled toolchain or switch to a custom MinGW installation.

Install MinGW (optional)

  1. Download and run the MinGW-w64 installer. It provides both 64- and 32-bit options.

  2. In the MinGW-w64 installation wizard, make sure to select the required architecture. Note that the default suggested option is 32-bit.

    Selecting the 64-bit architecture for MinGW

  3. Wait for installation to finish.

Although MinGW-w64 provides both 64- and 32-bit options, you can also install MinGW, the 32-bit-only version.

  1. In the MinGW installation wizard, select the following packages from the Basic Setup list: mingw-developer-tool, mingw32-base, mingw32-gcc-g++, mingw32-msys-base.

    MinGW installation

  2. Wait for installation to finish.

Configure a MinGW toolchain

  1. Go to .

    Click Add toolchain and select MinGW to add a new MinGW toolchain.

  2. In the Toolset field, you will see Bundled MinGW, which is the default option. If required, open the field to select from the list of other available installations:

    List of MinGW installations

  3. Wait until the tools detection finishes.

    Bundled MinGW toolchain

  4. Select the Debugger: you can use either bundled GDB, your MinGW GDB, or a custom GDB binary.

    The recommended option is bundled GDB, since it is guaranteed to include Python support required for CLion data renderers.

  5. If required, specify the script to initialize the environment.

  6. Click Apply when all the tools are set correctly.

Cygwin

  1. Download the Cygwin installer, version 2.8 or later.

  2. Run the installer and select the following packages:

    • gcc-g++

    • gdb

    To select a package, type its name in the Search field and set the version in the New column:

    Cygwin installation

  3. Once the installation is finished, open CLion and go to .

  4. Click Add toolchain and select Cygwin to add a new Cygwin toolchain.

    CLion will attempt to detect the Cygwin installation automatically. Check the Toolset field, and specify the path manually if required.

  5. Wait until the tools detection finishes, and click Apply.

    Cygwin toolchain

  6. If required, specify the script to initialize the environment.

Windows Subsystem for Linux

You can use WSL, Windows Subsystem for Linux, as your working environment in CLion on Windows 10 (starting the Fall Creators Update version 1709, build 16299.15).

WSL toolchain enables you to build projects using CMake and compilers from Linux and run/debug on WSL without leavCLionLion running on your Windows machine.

WSL toolchain

Microsoft Visual C++

  1. Install Visual Studio 2013, 2015, 2017, 2019, or 2022 on your system.

  2. In CLion, go to .

  3. Click App general add and select Visual Studio from the list of toolchain templates.

  4. Check the Toolset field. CLion will attempt to automatically detect the installed Visual Studio distribution. If the detection fails, set the path to Visual Studio manually.

  5. If required, specify the Architecture (x86, amd64, x86_arm, or another), Platform (store, uwp, onecore, or leave it blank), and Version. To build your project for the selected architecture, CLion will call the script to configure the environment with the specified parameters.

  6. Wait until the tools detection is finished:

    MSVC toolchain

  7. If required, specify the script to initialize the environment.

MSVC compiler

CLion supports the Microsoft Visual C++ compiler that ships with Visual Studio 2013, 2015, 2017, 2019, and 2022.

For the case when your code includes MSVC extensions, CLion provides the support for:

  • __uuidof, __forceinline, __unaligned, and __alignof keywords;

  • pointer type attributes: __ptr32, __ptr64, __uptr, __sptr;

  • MSVC built-in data types: (unsigned) __int8, (unsigned) __int16, (unsigned) __int32, (unsigned) __int64, __wchar_t;

  • additional format specifiers, such as %I32 and %I64;

  • the clang’s -fms-extensions flag.

Clang-cl compiler

As an alternative compiler, you can use clang-cl — the MSVC-compatible compiler driver for Clang. CLion supports clang-cl version 8.0 and later.

  1. Install clang-cl from the LLVM site or along with the Visual Studio tools.

    When installed from the LLVM site, the clang-cl binary can be found at the standard location C:Program FilesLLVMbinclang-cl.exe for the 64-bit version or C:Program Files (x86)LLVMbinclang-cl.exe for the 32-bit version.

  2. In CLion, go to and select the Visual Studio toolchain that you want to configure, or create a new one.

  3. Point the C Compiler and C++ Compiler fields to clang-cl.exe. CLion will suggest the paths detected automatically.

    Clang-cl compiler

Note that currently the -T clangcl options can’t be picked up if the bundled CMake is in use along with the Visual Studio toolchain setup (CPP-18848).

MSVC debugger

The MSVC toolchain debugger is implemented on top of LLDB, and it can work with native visualizers from the Visual Studio installation or from your project.

To enable native visualizers support and set the desired diagnostics level, select the Enable NatVis renderers for LLDB checkbox in :

MSVC NatVis

CLion automatically generates one-line summaries for all structures not covered by Natvis and highlights them to increase readability. Also, the built-in formatters provide visualization for wide/Unicode strings (wchar_t, char16_t, char32_t).

If you have custom native visualizers in your project, CLion will use them as well.

MSVC debug with custom NatVis

CLion supports most of the Natvis customization features, such as ArrayItems, IndexListItems, LinkedListItems, TreeItems, Inheritable attribute, Format specifiers, and CustomListItems.

When using the MSVC toolchain debugger, you can enable symbol servers support which will help the debugger resolve library symbols correctly. For more details, refer to Using symbol servers when debugging on Windows.

System toolchain

The System toolchain on Windows allows configuring the build tool, compilers, and debugger without selecting a predefined toolset or environment, similarly to Linux and macOS. Use this toolchain option for embedded development cases like using ARM or for other custom setups.

  1. Go to .

  2. Click Add toolchain and select System to add a new System toolchain.

  3. Configure the tools and provide an environment script if required:

    System toolchain configuration example

Initializing the toolchain environment via a script

Instead of setting the environment manually, you can point CLion to an environment file — a script that initializes the environment for your project. This is helpful, for example, when you need to initialize compiler variables, add custom ones, or modify the PATH.

Specifying an environment script is available for all toolchains.

Environment sourcing will happen on the first actual usage of the toolchain in a CMake profile or upon loading a Makefile project.

  1. In the toolchain settings, click Add environment, then click From file:

    Setting a script to initialize the environment

  2. In the Environment file field, specify the path to the script:

    Environment initialization via a script

  3. You will get notifications in case of script loading issues. CLion also checks the script loading time and terminates the execution if it takes too long.

    Environment script loading report

Clang compiler on Windows

With CMake 3.15, it has become possible to use the Clang compiler on Windows with the MinGW-w64/MinGW toolchain.

However, the LLVM Clang for Windows is built using Microsoft Visual Studio, and all the built-in macros and include search paths are set up for use with Visual Studio. So if you take Clang from the LLVM repository, it will not work correctly when configured with the MinGW toolchain. One of the possible workarounds is described below.

Set up the Clang compiler for MinGW

  1. Install MSYS2.

  2. Download the following packages with the pacman tool (use the pacman -S package_name command):

    • mingw-w64-x86_64-gcc

    • mingw-w64-x86_64-clang

    • mingw-w64-x86_64-lld

    • mingw-w64-x86_64-gdb

    • mingw-w64-x86_64-polly

    • mingw-w64-x86_64-compiler-rt

    This way, you will get the Clang compiler which is built with mingw-w64 and has paths and macros that correspond to this toolchain.

  3. Go to , create a MinGW toolchain, and set up the tools from MSYS.

    After specifying the Toolset, check the automatically detected tools and make sure to switch to Clang in the C Compiler and C++ Compiler fields.

    MinGW MSYS toolchain

GDB on Windows

In the case of MinGW, CLion includes the bundled GDB (version 12.1). For Cygwin, you need to install the GDB package in the Cygwin Package Manager, as described in the Cygwin section of this guide.

You can also switch to a custom GDB binary. In this case, the supported GDB versions are 7.8.x-12.1.

Note that for GDB 8.0 and later, debugger output is redirected to CLion console by default. To enable opening an external console window for application input/output, go to Help | Find Action or press Ctrl+Shift+A, search for Registry, and set the following key: cidr.debugger.gdb.workaround.windows.forceExternalConsole.

Last modified: 11 January 2023

I ran into the same issue with CLion 1.2.1 (at the time of writing this answer) after updating Windows 10. It was working fine before I had updated my OS. My OS is installed in C: drive and CLion 1.2.1 and Cygwin (64-bit) are installed in D: drive.

The issue seems to be with CMake. I am using Cygwin. Below is the short answer with steps I used to fix the issue.

SHORT ANSWER (should be similar for MinGW too but I haven’t tried it):

  1. Install Cygwin with GCC, G++, GDB and CMake (the required versions)
  2. Add full path to Cygwin ‘bin’ directory to Windows Environment variables
  3. Restart CLion and check ‘Settings’ -> ‘Build, Execution, Deployment’ to make sure CLion has picked up the right versions of Cygwin, make and gdb
  4. Check the project configuration (‘Run’ -> ‘Edit configuration’) to make sure your project name appears there and you can select options in ‘Target’, ‘Configuration’ and ‘Executable’ fields.
  5. Build and then Run
  6. Enjoy

LONG ANSWER:

Below are the detailed steps that solved this issue for me:

  1. Uninstall/delete the previous version of Cygwin (MinGW in your case)

  2. Make sure that CLion is up-to-date

  3. Run Cygwin setup (x64 for my 64-bit OS)

  4. Install at least the following packages for Cygwin:

    gcc
    g++
    make
    Cmake
    gdb

    Make sure you are installing the correct versions of the above packages that CLion requires. You can find the required version numbers at CLion’s Quick Start section (I cannot post more than 2 links until I have more reputation points).

  5. Next, you need to add Cygwin (or MinGW) to your Windows Environment Variable called ‘Path’. You can Google how to find environment variables for your version of Windows

[On Win 10, right-click on ‘This PC’ and select Properties -> Advanced system settings -> Environment variables… -> under ‘System Variables’ -> find ‘Path’ -> click ‘Edit’]

  1. Add the ‘bin’ folder to the Path variable. For Cygwin, I added:
    D:cygwin64bin

  2. Start CLion and go to ‘Settings’ either from the ‘Welcome Screen’ or from File -> Settings

  3. Select ‘Build, Execution, Deployment’ and then click on ‘Toolchains’

  4. Your ‘Environment’ should show the correct path to your Cygwin installation directory (or MinGW)

  5. For ‘CMake executable’, select ‘Use bundled CMake x.x.x’ (3.3.2 in my case at the time of writing this answer)

  6. ‘Debugger’ shown to me says ‘Cygwin GDB GNU gdb (GDB) 7.8’ [too many gdb’s in that line ;-)]

  7. Below that it should show a checkmark for all the categories and should also show the correct path to ‘make’, ‘C compiler’ and ‘C++ compiler’

See screenshot:
Check all paths to the compiler, make and gdb

  1. Now go to ‘Run’ -> ‘Edit configuration’. You should see your project name in the left-side panel and the configurations on the right side

See screenshot:
Check the configuration to run the project

  1. There should be no errors in the console window. You will see that the ‘Run’ -> ‘Build’ option is now active

  2. Build your project and then run the project. You should see the output in the terminal window

Установка и настройка Clion

Каталог статей

  • Введение
  • Два, инструменты
  • Три, установка и активация
  • Четыре, горячие клавиши
  • 5. Создайте проект и программу отладки.
  • Шесть, скомпилируйте несколько файлов
  • Семь, конец

Введение

Я не знаю, с какими артефактами разработки контактировали мои друзья. По сравнению с компиляторами, с которыми я сейчас общаюсь, существует множество компиляторов, таких как DEV C ++, EditPlus, Eclipse, Pycharm, Vistual Stdio, Vistual Code. Для программистов, разрабатывающих C / C ++, один Хороший компилятор — это мощный инструмент для начала вашего эффективного обучения и работы.Установка хорошего компилятора может сделать вашу разработку более эффективной.
Сегодня я рекомендую очень хорошую IDE разработчикам C / C ++, то есть CLion, недавно выпущенный Jetbrains (Чешская Республика) для разработки C / C ++. Разработанная кроссплатформенная среда IDE основана на IntelliJ, а также содержит множество интеллектуальных функций для повышения продуктивности разработчиков и повышения эффективности их работы. Кроме того, JetBrains имеет множество отличных IDE, таких как упомянутый выше Pycharm, который очень подходит для разработки. Далее я объясню методы установки и настройки, а также использование сочетаний клавиш.

Два, инструменты

Адрес загрузки Clion:кликните сюда

Три, установка и активация

  1. Дважды щелкните исполняемый файл после загрузки, появится следующий интерфейс

  2. После завершения распаковки войдите в приветственный интерфейс.

  3. Выберите путь установки, нажмите Далее (PS: постарайтесь не выбирать установку под файлом диска C)

  4. В это время выберите три верхних и нижнюю панель, пожалуйста, выберите нужный вам элемент. После выбора щелкните Далее.

  5. Тогда просто подожди

  6. Дождавшись запроса о завершении установки, нажмите Finsh, появится следующий интерфейс.

  7. После завершения установки на рабочем столе появится ярлык Clion, нажмите, чтобы войти

  8. Нажмите кнопку Enter (посередине), а затем вставьте ключ ниже, чтобы войти в CLion.

Здесь вам необходимо получить ключ активации, и это рекомендуется тем, кто может купить законные авторские права!
Лицензию IntelliJ IDEA можно получить следующими способами:
1. Получить через студенческий билет, идентификатор учителя или почтовый ящик edu;
2. Вы также можете подать заявку через собственный проект с открытым исходным кодом;
3. У продукта есть 30-дневный пробный период, вы можете сначала попробовать его, а затем выбрать, нужно ли вам его покупать.
Конкретные сведения: вы можете посетить официальный веб-сайт приложения.
https://www.jetbrains.com/idea/buy/


В-третьих, установите отладчик компилятора

  1. После завершения активации наиболее важным шагом является то, что на компьютере не установлен отладчик компилятора CMake / MinGW.Если компилятор DEV C ++ был установлен, вы можете совместно использовать отладчик компилятора MinGW.

  2. Щелкните Файл, затем выберите Настройки, появится следующий интерфейс.

  3. Выберите Toolchains в разделе Build, Execution, Deployment, а затем выберите Environment справа.

  4. Выберите файл MinGW под файлом DEV C ++, и настройка выполнена успешно!

Четыре, горячие клавиши

Ctrl + влево стрелка влево назад 
Ctrl +  вправо стрелка вправо вперед 
ALT + 1 							 Показать и скрыть панель проекта 
Ctrl + / 							 Добавить или удалить заметки 
Ctrl + Alt +  Код формата L 
Alt + F7 							Find Usages 
Ctrl +  R заменить 
Ctrl +  B Переход от определения к объявлению 
Ctrl + Shift +  Возврат к месту последнего редактирования
Ctrl +  N класс поиска 
Ctrl +  O выберите метод, который нужно переписать 
Ctrl +  F12 Быстро просмотреть участников класса 
Ctrl +  Q Быстрый просмотр документа 
Ctrl +  Информация о параметрах подсказки P 
Ctrl +  H Просмотр дерева наследования 
Ctrl +  E Просмотр недавно просмотренных файлов 
Ctrl + Alt +  B Просмотр классов реализации интерфейсов и абстрактных классов
Ctrl +  F Поиск в текущем файле Примечание:Нажмите Esc, и поле поиска исчезнет. 
Ctrl + Shift +  F Поиск по всему проекту или в указанном каталоге Примечание:Дважды нажмите Esc, и поле поиска исчезнет. 
Ctrl + Shift +  N Найти файлы 
Ctrl +  F7 Найдите место, где в тексте используются класс, переменная, функция и т. Д. 
Shift +  Сдвиг глобального поиска 
Ctrl + Alt + 7 						 Просмотр того, где используются классы, объекты и переменные
Ctrl + Alt + -/+ 					 Развернуть и свернуть текущую функцию и класс 
Ctrl + Shift + -/+ 					 Развернуть и свернуть все функции и классы
Shift +  F6 Переименовать переменную 
Alt +  insert Добавить информацию об автоматической генерации кода (вставить набор*()/get*()/Конструктор, равно, хэш-код и т. Д.) 
Ctrl + Shift +  космическая подсказка (newЗатем напрямую войдите в конструктор и предоставьте информацию о конструкции в конструкторе)

5. Создайте проект и программу отладки.

  1. Создать пустой проект
  2. Выберите место хранения и языковой стандарт проекта и действуйте в соответствии с рисунком.Первый шаг — выбрать тип создаваемого проекта — C или C ++, второй шаг — выбрать языковой стандарт, третий шаг — выбрать место хранения файла, а четвертый шаг — щелкнуть Создайте.
  3. Когда файл проекта создается так
  4. Напишите простую программу и отлаживайте ее. Добавляем в программу точку останова, выбираем DEBUG
  5. Если вы хотите создать несколько исходных файлов в одном файле проекта, вам необходимо изменить имя исходного файла и изменить информацию в CMakeLists (выберите исходный файл, нажмите Refactor, а затем выберите Rename)
    Примечание: не называйте исходный файл на китайском языке.


Шесть, скомпилируйте несколько файлов

Добавьте несколько исходных файлов в проект. Как мы все знаем, в проекте разрешена только одна основная функция. Если основных функций несколько, функция не будет запущена, и будет сообщено об ошибке. Итак, что нам делать, чтобы создать несколько исходных файлов для компиляции и отладки в рамках проекта?

  1. Щелкните Project, выберите New, а затем выберите C / C ++ Source File.
  2. Выберите имя и тип исходного файла, нажмите ОК.
  3. На этом этапе вновь созданный исходный файл предложит
  4. Откройте файл CMakeLists и добавьте информацию о компиляции
    Первым шагом является добавление скомпилированного проекта. Вам не нужно добавлять созданный проект Project. Вы можете изменить его. Ниже приведен только что созданный исходный файл.
    Второй шаг — нажать «Обновить изменения», и изменения будут успешными! !
  5. Отредактируйте второй файл программы!

Семь, конец

На этом мы завершили всю настройку, и следующая работа по разработке остается за вами! Посыпать ~

Index

  • Index
    • CLion Installation
    • Setup Windows Subsystem for Linux (WSL)
    • Package installation
    • Configure CLion
      • Version 2021 and newer
      • Version 2019
    • Setup Valgrind on CLion
    • Redirect Input from file on CLion
    • Setup WSL Terminal on CLion
    • Setup WSL Xserver [Optional]
    • Troubleshooting GUI errors

      CLion Installation

Create an educational account using your university email:

https://www.jetbrains.com/shop/eform/students

Download, install and login into CLion.

Setup Windows Subsystem for Linux (WSL)

⚠️ IMPORTANT — If you have Windows 11 installed you don’t need to follow these steps below nor the installation of an X-Server.

Running wsl –install in a Powershell terminal and setting up an UNIX username like the steps below is sufficient to have a working environment.

Open Windows Powershell in Admin mode by using Win+X shortcut and use the following command (In this guide we will install WSL version 1, this saves us a lot of troubleshooting. Feel free to try version WSL 2 if you like it)

1
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

wsl1-installation

Reboot your system

Choose your preferred distro (I suggest using Ubuntu because most of packages are updated and accessible, if you want a lightweight heavy distro use Debian) and download it from Microsoft Store.

distro-selection-microsoft-store

ubuntu-microsoft-store

Once installed, open it by searching it in Start Menu.

wsl

Create a UNIX user with a password (You need it later so choose one you can actually remember).

kek

Update the distro with:

1
sudo apt update && sudo apt upgrade -y

Package installation

Install packages with this command:

1
sudo apt install -y build-essential cmake gdb valgrind wget kcachegrind

Configure CLion

Create a SSH profile with the following command (this assures that CLion connects to WSL):

1
wget https://raw.githubusercontent.com/JetBrains/clion-wsl/master/ubuntu_setup_env.sh && bash ubuntu_setup_env.sh

Open CLion, go to File>Settings>Build, Execution, Deployment>Toolchains, click on + and choose WSL.

Version 2021 and newer

It should detect automatically your WSL distro and version like the following screenshot:

here

Version 2019

Go to credentials, open the menu and configure a new connection:

  • host: localhost,

  • username: WSL username previously created,

  • port: 2222,

  • authentication type: WSL password previously created.

kek

Test the connection with the related button.

kek

If CLion is connected correctly it should automatically detect all the paths, otherwise you can set them manually (they are located under /usr/bin)

kek

Setup Valgrind on CLion

Go to File>Settings, search for Valgrind, set valgrind path (/usr/bin/valgrind) and all its arguments (view the FAQ guide).

kek

Now you can run your program with Valgrind by clicking on the top right icon (I use Atom Material Icons plugin which I strongly recommend:

https://plugins.jetbrains.com/plugin/10044-atom-material-icons.

kek

Redirect Input from file on CLion

Under Edit Configurations inthe top right corner you can change to redirect the input from file like the following images

kek

kek

Setup WSL Terminal on CLion

If you want to run CLI commands directly into the project directory you can use the built-in terminal in CLion.

Go to File>Seetings>Tools>Terminal, under Shell Path you should already see the WSL terminal unless type the following :

1
wsl.exe

or this if you have multiple distros installed:

1
wsl.exe --distribution <distroName>

kek

Setup WSL Xserver [Optional]

If you want to run kcachegrind, massif-visualizer or any Linux app with a GUI follow the next steps.

Open WSL, modify your .bashrc (nano ~/.bashrc) file and append this line at the end of the file:

1
export DISPLAY=:0

kek

This will forward your Linux GUI to the Xserver (installed later).

Download and install VcXsrv Xserver (any other Xserver is fine, I just prefer this one): https://sourceforge.net/projects/vcxsrv/files/latest/download

Launch it and choose Multiple windows (just continue, all the other options are not relevant for our purpose) and then press Finish.

kek

kek

You should see in the bottom right on the taskbar the Xserver icon indicating it’s active.


NOTE

Remember to run XLaunch after every reboot to use it again


Troubleshooting GUI errors

cannot open shared object file: No such file or directory...

If you encounter the following error:

1
failed: libQt5Core.so.5: cannot open shared object file: No such file or directory

while running kcachegrind, fix it by executing the following commands:

1
2
sudo apt install -y binutils
sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

Could not load the Qt platform plugin "xcb" in ""...

If you encounter the following error:

1
2
3
qt.qpa.xcb: could not connect to display :0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Congratulations 🎉 you have installed WSL2! (naughty user, you have not followed my guide 😠!).

Replace the previous export with:

1
export DISPLAY=$(route.exe print | grep 0.0.0.0 | head -1 | awk '{print $4}'):0.0

If it does not work follow this guide (Firewall section only): 📖.

Перед примером моей настройки немного лирики.

Давно хотел попробовать себя в микроконтроллерах, вернее были идеи с их использованием, которые очень хотелось реализовать. Сначала начал с PIC32 — огонь контроллеры. Так получалось, что поначалу и коротил их порты, и с питанием завышал — неубиваемые (не совсем конечно, порт правда однажды сгорел, но сам контроллер продолжал работу). IDE MplabX неплоха, подкупал графический блок с отображением занимаемой RAM/Flash на выбранном МК — удобно, но сам NetBeans как IDE это жесть, ну не удобно ни разу после Idea. Но проблема была не в этом — как потом оказалось, PIC’и тяжело достать, мало кто их возит, а если и возит, то по относительно высокой цене.

Дальше решил копнуть в сторону STM32 — они в больших количествах, за базовую периферию просят не много, но главное — это доставаемость. (Но кодогенератор STM’а хуже Microchip’a — весь файл загажен комментами и функциями, это конечно сильно огорчило. У Microchip’а все сгенеренные функции вынесены в отдельные файлы и main.c практически чист — прелесть).
(UPD: вот тут признаюсь ошибался, спасибо golf2109, он подсказал, что от заваливания комментами и функциями файла main.c можно избавиться, достаточно включить в настройках опцию для вынесения сгенерированного кода в отдельные файлы, но я все же в недоумении, почему это не дефолтная настройка, вроде логично было бы)

Теперь об IDE для STM32.

Попробовал хваленый Keil — конечно получше блокнота, но ужасно не удобный (ни нормальных подсказок, ни нормального форматирования, после Idea в общем не то пальто, особенно я так и не понял как создавать пакеты, почему нельзя просто в окошке ткнуть создать пакет и продолжить — матюгаться хочется).

Потом попробовал CooCox — гораздо лучше и приятнее интерфейс, хорошо настраивается форматирование (прям порадовала настройка переноса параметров в методах, да и другие настройки очень кстати), но опять же не хватало многих плюшек от Idea и опять же проблемы с организацией пакетов.

Clion почти та же Idea только для C/C++ и сразу захотелось ее прикрутить, но как оказалось довольно проблематично (особенно для человека, который с плюсами-то не силен, особенно со всякими сборщиками и компиляторами, парой сотен опций компиляции). Начал с блога JetBrains. Довольно подробно описано, но это для прошлых версий STM32CubeMX, в новой немного поменялась структура каталогов, в результате чего я некоторое время не понимал почему не компилится. Потом разобрался — изменил пути, для cortex-m3 убрал параметры -mfpu. Но опять не компилился. Дальше оказалось, что я не тот компилятор установил, вернее просто скачал его, но не указал путь к нему в файле сборки (ну сложновато поздно вечером думать).

Главное в Clion’е поставить галочку в настройках ‘Automaticaly Reload Cmake Project on Edit’ (Settings -> Build, Execution, Deployment -> Cmake), тогда после правок не нужно ничего очищать вручную.

Еще из изменений — дебаггер, упомянутый в блоге, переименовали в Ozone, его еще не тестил, позже отпишусь.

И последняя проблема, сверлившая мозг. Очень хотелось ООП, но не компилился проект если я добавлял C++ файл, куча ошибок с не найденными функциями (например, _exit, _sbrk и пр.). Здесь проблем было 2:

  • в файле CMakeLists.txt в блоге JetBrains не был выставлен флаг CXX в директиве project (нужен для файлов C++)
  • для исправления ошибок в файле из блога не хватало опций -specs=nosys.specs -specs=nano.specs после опции -gc-sections. Они как раз создают эти прототипы или наоборот игнорят эти методы (тут не могу точно сказать)

После этого проект нормально стал компилиться и размер его стал в пределах нормы (без опции -specs=nano.specs размер был в 10 раз больше для пустого проекта примерно 110 кб., с опцией — 18 кб.)

Итак, что я сделал:

  1. ставим Clion
  2. заходим в настройки (Settings -> Build, Execution, Deployment -> Cmake) и ставим галочку ‘Automaticaly Reload Cmake Project on Edit’
  3. здесь же вписываем в поле Cmake options параметр -DCMAKE_TOOLCHAIN_FILE=STM32L1xx.cmake и в поле Generation path ставим build (если поменять, то в файлах CMakeLists.txt и STM32L1xx.cmake нужно его тоже будет поменять)
  4. ставим ARM компилятор (здесь брал)
  5. импортируем проект (который предварительно сгенерировали в STM32CubeMx), говорим, что можно создать CMakeLists.txt
  6. отсюда или из моего репозитория копируем содержимое CMakeLists.txt в созданный в Clion’e и добавляем файл STM32L1xx.cmake (можно обозвать как угодно)
  7. в STM32L1xx.cmake правим имя проекта в директиве project и можно убрать CXX если не нужен C++
  8. заменить в файле CMakeLists.txt в директиве add_definitions(-DSTM32L100xC) на свой контроллер
  9. для надежности можно сделать: Tools -> Cmake -> Reset Cache and Reload project и потом Tools -> Cmake -> Reload Cmake Project
  10. теперь можно сбилдить

Файл CMakeLists.txt

project(Skeleton C CXX ASM)
cmake_minimum_required(VERSION 3.5.0)

add_definitions(-DSTM32L100xC)

set(FREERTOS_DIR Middlewares/Third_Party/FreeRTOS/Source/)

file(GLOB_RECURSE USER_SOURCES "Src/*.c")
file(GLOB_RECURSE HAL_SOURCES "Drivers/STM32L1xx_HAL_Driver/Src/*.c")
file(
    GLOB_RECURSE
    FREERTOS_SOURCES
    "${FREERTOS_DIR}/*.c"
    "${FREERTOS_DIR}/CMSIS_RTOS/*.c"
    "${FREERTOS_DIR}/portable/GCC/ARM_CM3/*.c"
)

add_library(
    CMSIS
    Src/system_stm32l1xx.c
    startup/startup_stm32l100xc.s
)

include_directories(Inc)
include_directories(Src/gps/parser/nmea)
include_directories(Drivers/STM32L1xx_HAL_Driver/Inc)
include_directories(Drivers/CMSIS/Include)
include_directories(Drivers/CMSIS/Device/ST/STM32L1xx/Include)

include_directories(${FREERTOS_DIR})
include_directories(${FREERTOS_DIR}/CMSIS_RTOS)
include_directories(${FREERTOS_DIR}/include)
include_directories(${FREERTOS_DIR}/portable/GCC/ARM_CM3/)
include_directories(${FREERTOS_DIR}/portable/GCC/MemMang)

add_executable(${PROJECT_NAME}.elf ${USER_SOURCES} ${HAL_SOURCES} ${LINKER_SCRIPT} ${FREERTOS_SOURCES})

target_link_libraries(${PROJECT_NAME}.elf CMSIS)

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-Map=${PROJECT_SOURCE_DIR}/build/${PROJECT_NAME}.map")
set(HEX_FILE ${PROJECT_SOURCE_DIR}/build/${PROJECT_NAME}.hex)
set(BIN_FILE ${PROJECT_SOURCE_DIR}/build/${PROJECT_NAME}.bin)
add_custom_command(TARGET ${PROJECT_NAME}.elf POST_BUILD
        COMMAND ${CMAKE_OBJCOPY} -Oihex $<TARGET_FILE:${PROJECT_NAME}.elf> ${HEX_FILE}
        COMMAND ${CMAKE_OBJCOPY} -Obinary $<TARGET_FILE:${PROJECT_NAME}.elf> ${BIN_FILE}
        COMMENT "Building ${HEX_FILE} nBuilding ${BIN_FILE}")

Файл STM32L1xx.cmake:

INCLUDE(CMakeForceCompiler)

SET(CMAKE_SYSTEM_NAME Generic)
SET(CMAKE_SYSTEM_VERSION 1)

# Specify the cross compiler. arm-none-eabi-gcc and arm-none-eabi-g++ are full path required
CMAKE_FORCE_C_COMPILER(arm-none-eabi-gcc GNU)
CMAKE_FORCE_CXX_COMPILER(arm-none-eabi-g++ GNU)

SET(LINKER_SCRIPT ${PROJECT_SOURCE_DIR}/STM32L100RCTx_FLASH.ld)
SET(COMMON_FLAGS "-mcpu=cortex-m3 -O2 -mthumb -ffunction-sections -fdata-sections -g -fno-common -fmessage-length=0")
SET(CMAKE_CXX_FLAGS_INIT "${COMMON_FLAGS} -std=c++11")
SET(CMAKE_C_FLAGS_INIT "${COMMON_FLAGS} -std=gnu99")
SET(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,-gc-sections -specs=nosys.specs -specs=nano.specs -T ${LINKER_SCRIPT}")

Работать стало приятно, но пока заливаю прошивку через STM’овскую утилиту, позже попробую накрутить OZONE. На вопросы отвечу (если смогу).

CLion — это относительно новая IDE разработки и отладки кода на C/C++. Она основана на популярной платформе Intellij и наследует от нее большинство полезных функций, таких как:

  • компилятор;
  • анализ и отладка кода;
  • выделение кода по тегам и операторам;
  • автозаполнение команд;
  • рефакторинг.

Релиз последней сборки произошел 17 марта 2021 года. CLion — это детище команды JetBrains. Запуск, отладка и сам компилятор в CLion работают куда шустрее, чем во многих подобных рабочих средах.

Обзор IDE CLion

При кодировании CLion позволяет вам вообще забыть о рутине. Компилятор и отладка кода в CLion просто на высоте. Вы можете четко сконцентрироваться только на важном, а все остальное этот редактор возьмет на себя. Данная IDE способна повысить вашу производительность за счет «умного» и своевременного автозавершения кода, мгновенной навигации по документу и надежного рефакторинга.

Преимущества CLion перед другими IDE

  1. Легкий старт. В данной IDE очень легко начать новый проект, файлы могут быть добавлены в проект одним щелчком мыши.
  2. Умный редактор. Благодаря своей умной среде, CLion анализирует ваш код, понимает ваш проект и старается увеличить вашу скорость написания кода за счет интеллектуального автозавершения.
  3. Навигация и поиск. Найти необходимый «кусок» кода не составит труда — мгновенная навигация по символу, классу или файлу в этом помогает.
  4. Генерация кода и рефакторинг. CLion экономит вам время за счет генерации кода — от геттеров/сеттеров до более сложных шаблонов.
  5. Анализ кода на лету. У вас есть возможность писать красивый и правильный код. Данная IDE «на лету» проводит статический анализ вашего кода для поддерживаемых языков, поэтому она способна сразу показывать вам предупреждения и ошибки.
  6. Настройка редактора. Гибкая система настройки CLion позволяет выбирать тему редактора, раскладку клавиатуры и др. В общем, позволяет вам полностью настроить CLion под себя.
  7. Запуск и отладка CLion. Вы можете запускать и отлаживать свою программу как локально, так и удаленно.
  8. Динамический анализ. Если использовать интеграцию с Valgrid Memcheck, Google Sanitizerz и CPU Profiler, то можно легко обнаружить ошибки в памяти, скачки данных и любую другую проблему, также можно с легкостью отслеживать производительность вашей программы.
  9. Поддержка CMake. CMake — это кроссплатформенная система сборки, которая широко используется для проектов С и С++.
  10. Модульное тестирование. CLion поддерживает платформы Google Test, Boost.Test и Catch. Также он имеет встроенный инструмент для запуска тестов.
  11. Документация по коду. В CLion легко документировать свой код. Доступен предварительный просмотр документов в стиле Doxygen во всплывающем окне.
  12. Встроенная разработка. В CLion вы легко можете разрабатывать для микроконтроллеров, используя различные возможности отладки.
  13. Интеграция VCS. Данная IDE предоставляет унифицированный интерфейс для большинства популярных VCS, таких как Git, GitHub, CVS, Perforce и другие.
  14. Удобный терминал. Вы легко можете получить доступ к командной строке через встроенный терминал, можете включить режим эмуляции Vim, можете расширить функциональность среды и другими плагинами.

Как настроить IDE CLion?

Скачать актуальную версию можно на сайте jetbrains.com. Коротко расскажем, как настроить CLion под себя. В целом настройку рабочей среды можно разделить на несколько частей:

  1. Тема редактора. В настройках редактора есть возможность выбрать между светлой и темной темой оформления. Разработчикам с дальтонизмом можно попробовать параметр «Корректировать цвета красно-зеленого дефицита».
  2. Цвета и шрифты. Не стесняйтесь использовать настройки на полную. Вы свободно можете настроить макет цветов, шрифтов и синтаксиса, выделения ошибок, отладчика и т.д. Можете использовать предустановленные схемы цветов или создать с нуля свои.
  3. Комбинации клавиш. IDE CLion по умолчанию предоставляет комбинации клавиш почти для каждой функции. Вы можете выбрать из списка подготовленных схем комбинаций или создать свои.
  4. Фон редактора. Вы можете оживить редактор этой рабочей среды, установив любое фоновое изображение.
  5. Лигатуры. Если вам нравятся шрифты с лигатурами — используйте их.
  6. Семантическое выделение. Возможно, вам будет полезным способность настроить выделение каждой переменной или параметра своим цветом.

Запуск и отладка CLion

В зависимости от цели вашего проекта (CMake, Makefile, Gradle) CLion будет генерировать необходимую конфигурацию, которую можно будет запустить.

Запуск CLion

 Условно весь запуск можно поделить на несколько частей:

  1. Шаблоны конфигурации. Чтобы сократить время, вы можете использовать шаблоны конфигурации для модульного тестирования, удаленной отладки, запуска обычного приложения и т.д.
  2. Конфигурация запуска. Вы можете изменять исполняемый файл любой конфигурации. При желании можете сделать конфигурацию «не рабочей».
  3. Конфигурация отладки. Для старта отладки нужно нажать «Shift+F9». Чтобы проверить состояние отладки, CLion предоставляет много полезных ярлыков.

Отладка CLion

CLion интегрируется с серверной частью GDB на всех платформах и с LLDB на macOS и Linux. Условно процесс отладки можно разделить на несколько частей:

  1. Присоединение к локальному процессу. CLion позволяет отлаживать процессы на локальном компьютере, запускаемые на самом ПК, а не через IDE.
  2. Удаленная отладка GDB. Если у вас есть один запущенный исполняемый файл на локальном ПК под gdbserver, вы можете подключиться к нему с другого компьютера при помощи GDB из CLion.
  3. Контрольные точки. При старте отладки данная IDE может проверить выполнение вашего кода. Вы можете выбрать из нескольких точек останова (точки останова на стоке, символические точки останова, точки останова на исключение).
  4. Точки выполнения. С помощью действия Set Execution Point to Cursor вы можете перемещаться вперед/назад в процессе выполнения отладки, вы можете прерывать или перезапускать циклы и др.
  5. Отладка root. CLion может запускать и отлаживать вашу программу с правами root, если вы выберете эту опцию.

CLion — это достаточно умная среда разработки. Функциональность всей IDE не уместить в одну статью, поэтому ее нужно пробовать. Настроить CLion просто, отладка  происходит интуитивно, компилятор работает безупречно, общая функциональность этой IDEшки впечатляет. Что еще нужно для успешной разработки?

Как начать делать лабы по АЯ. Windows (и не только).

C++Telegram

Введение.

Данный туториал написан для студентов МГТУ им Н. Э. Баумана и в частности для ИУ8 ради облегчения их нелёгкого пути по морям дискретной математики в лабораторных работах по Алгоритмическим языкам.

Перед тем, как мы начнём, хочу вас в последний раз предостеречь от выполнения лаб
под виндой. Линукс — то, с чем вам всё равно придётся подружиться рано или поздно.
И поверьте, на примере как своём, так и многих-многих тех, кто пытался что-то мудрить
со своей лицензионной виндушечкой, которая шла вместе с ноутом, а потому было слишком
тяжело с ней расставаться. Для таких моментов существует такая вещь как установка двух ОС
рядом, при таком раскладе вы просто выбираете нужную вам операционку при старте загрузчика grub:

В последний раз прошу вас рассмотреть этот вариант и не идти дальше и посмотреть в
сторону того же Ubuntu(годный дистрибутив для начинающих в линукс).

План действий.

  • Установка CLion.
  • Установка Github Desktop.
  • CLion. Начало работы.
  • Немного о сдаче лаб.

Как установить CLion и настроить Gtest

  • Подать заявку на предоставление бесплатной лицензии, используя университетскую почту (P.S. если вы её до сих пор не получили, получите в ГЗ в 91 кабинете)

JetBrains Products for Learning

Скриншот с сайта подачи заявки

(То, что подчёркнуто красным нужно заполнить)

  • Скачать CLion

Скриншот с сайта загрузки

  • Установить CLion.

Установка стандартная, ничего дополнительно нажимать не требуется(только при желании это сделать)

  • Погдодовьте CLion к работе, настройте компилятор (Tutorial).

  • Далее нужно скачать Python

Download Python

Установка стандартная, не требует дополнительных действий. Просто нажимаем далее, если спрашивают. Ничего не меняем

  • И Git Bash

Download Git Bash

Установка стандартная, не требует дополнительных действий. Просто нажимаем далее, если спрашивают. Ничего не меняем

Заходим в папку с клонированным репозиторием в проводнике. Кликаем ПКМ и выбираем Git Bash Here

Git Bash Here

И выполняем эту команду.

git submodule update --init

Для Linux (Описано для Debian/Ubuntu и других систем, использующих apt)

sudo apt update
sudo apt install git
git clone <ссылка на ваш репозиторий>

Где взять ссылку показано на картинке

Copy link

cd <название репозитория>
git checkout -b wp/lab
git submodule update --init

Ставим Github Desktop.

Если вы мало знакомы с командами гита, то эта программа с графическим интерфейсом поможет вам на
первом семестре. Чтобы клонировать репозитории и хранить их локально на своей машине, вносить изменения
на удалённый репозиторий и так далее.

  • Качаем, устанавливаем Github Desktop

  • Само собой логинимся через учётку github.

  • В Github Desktop: File -> Clone repository и выбираете нужный Вам репозиторий

Clone repository

  • ветка master — эталонная, своего рода шаблон для начала лабы. В неё мы не вносим изменения.
    Чтобы начать делать лабу, нам нужно создать свою ветку (обычно её называют wp/lab). Сделать это можно, нажав
    New branch в разделе с ветками. (смотри скрин ниже)

  • Изменить ветку на wp/lab

Change branch

Начало в CLion

  • Запускаем CLion

  • Выбираем пункт New CMake Project from Sources или File -> New CMake Project from Sources

New Project

  • Выбираем папку с локальным репозиторием (обратите внимание, нужна именно папка, содержащая папку .git)

Choose local repository folder

  • Важно! Нажимаем Open Existing Project. Иначе CMakeLists.txt перезапишется

open existing project

  • Готово. Если делаете всё в первый раз на данной машине, то стоит немного подождать, пока Hunter(специальный пакетный менеджер) скачает и установит необходимые зависимости.

Начинаем работу c CLion и лабками.

Зачастую лабы суть лаб состоит в том, чтобы вы закодили то, что необходимо по заданию.
Делается это, как правило в директориях sourses/… — .cpp файлы и include/… — .hpp (подробнее на самих лабах)
Не вдаваясь в подробности, после того как всё сделано, ваш код проходит так называемые unit-тесты. Если интересно их содержание
можно посмотреть тут: /tests/test.cpp В общем и целом они нужны, чтобы подготовленные входные данные автоматически прогонялись через
ваше решения, а выходные данные, в свою очередь, проверялись на правильность. Плохим тоном является выгружать лабу на проверку удалённому
тестировщику TravisCI до того, как вы убедились, что тесты прошли локальную проверку у вас.

Давайте разбёремся, как запускать тестики на вашей машине.

Вот наше окно в CLion с какой-то открытой лабой.

Если вы видите ошибку

CMake Error at CMakeLists.txt:14 (include):
  include could not find load file:
    tools/gate/cmake/HunterGate.cmake

значит у вас не установлены необходимые подмодули. Чтобы это исправить, скопируйте и вставьте эти команды в терминал / git bash находясь в корне локального репозитория

git submodule update --init

или

git submodule add https://github.com/cpp-pm/polly tools/polly
git submodule add https://github.com/cpp-pm/gate tools/gate

Немного пробежимся по среде разработки.

Слева мы наблюдаем всю файловую иерархию нашего проекта.

Снизу поле для вывода. Туда выводятся всевозможные ошибки CMake, а также там
мы будем видеть, как проходят наши тестики.

Ну по центру место, где будем писать код, с подсветкой синтаксиса, автодополнениями
и другим разработческим сахаром.

Итак, внимание в правый верхний угол. Если сборка вашего проекта прошла успешно (при условии что вы выполнили все пункты выше),
то у вас будет похожая картина.

Для того, чтобы запустить тестирование, нажимаем на зелёный треугольничек, и смотрим в окно вывода:

Если вы видете подобное(RUN OK и в конце [ PASSED ]) — у вас всё прекрасно, тестики прошли успешно.
Однако в большинстве случаев первый вывод больше похож на что-то такое:

Running main() from gtest_main.cc
[==========] Running 11 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 11 tests from Matrix
[ RUN      ] Matrix.Init
[       OK ] Matrix.Init (0 ms)
[ RUN      ] Matrix.CopyAssign
[       OK ] Matrix.CopyAssign (0 ms)
[ RUN      ] Matrix.Add
D:GitHub2-lab-03-matrix-aaaaaaaaleshatestsmatrix_unittests.cpp:48: Failure
Expected equality of these values:
  s.Rows()
    Which is: 1
  2
[  FAILED  ] Matrix.Add (0 ms)
[ RUN      ] Matrix.AddEmpty
D:GitHub2-lab-03-matrix-aaaaaaaaleshatestsmatrix_unittests.cpp:65: Failure
Expected equality of these values:
  s.Rows()
    Which is: 4294967295
  0
[  FAILED  ] Matrix.AddEmpty (0 ms)
[ RUN      ] Matrix.Sub
D:GitHub2-lab-03-matrix-aaaaaaaaleshatestsmatrix_unittests.cpp:79: Failure
Expected equality of these values:
  s.Rows()
    Which is: 1
  2
[  FAILED  ] Matrix.Sub (0 ms)
[ RUN      ] Matrix.SubEmpty
D:GitHub2-lab-03-matrix-aaaaaaaaleshatestsmatrix_unittests.cpp:94: Failure
Expected equality of these values:
  s.Rows()
    Which is: 4294967295
  0
[  FAILED  ] Matrix.SubEmpty (0 ms)
[ RUN      ] Matrix.Mult
D:GitHub2-lab-03-matrix-aaaaaaaaleshatestsmatrix_unittests.cpp:126: Failure
Expected equality of these values:
  s.Rows()
    Which is: 2
  3
[  FAILED  ] Matrix.Mult (0 ms)
[ RUN      ] Matrix.Transposition
[       OK ] Matrix.Transposition (0 ms)
[ RUN      ] Matrix.Minor
[       OK ] Matrix.Minor (0 ms)
[ RUN      ] Matrix.Det
D:GitHub2-lab-03-matrix-aaaaaaaaleshatestsmatrix_unittests.cpp:234: Failure
Expected equality of these values:
  n.Det()
    Which is: 0
  343.
    Which is: 343
[  FAILED  ] Matrix.Det (1 ms)
[ RUN      ] Matrix.Inverse
[       OK ] Matrix.Inverse (0 ms)
[----------] 11 tests from Matrix (8 ms total)

[----------] Global test environment tear-down
[==========] 11 tests from 1 test case ran. (9 ms total)
[  PASSED  ] 5 tests.
[  FAILED  ] 6 tests, listed below:
[  FAILED  ] Matrix.Add
[  FAILED  ] Matrix.AddEmpty
[  FAILED  ] Matrix.Sub
[  FAILED  ] Matrix.SubEmpty
[  FAILED  ] Matrix.Mult
[  FAILED  ] Matrix.Det

 6 FAILED TESTS

Process finished with exit code 1

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

и нажмите на зелёного жучка в той же верхней области (справа от стрелочки).

Видим, что мы вошли в режим дебаггера

далее можно поиграть с клавишами F8(step over) и F7(step into) — шаг с обходом и шаг
с заходом соответственно. Внизу можем наблюдать локальные и глобалльные переменные и то,
как они изменяются, пока мы шагаем по программе.

Процесс дебаггинга легко остановить нажатием на красный квадратик в той же верхней правой
строке.

Clang формат. Горячие клавиши.

В нашем ремесле существует специальная утилита clang-format. Она позволяет автоматически форматировать ваш код.
К примеру рассмотрим код до и после применения этой утилиты:

До:

        #include <iostream>

int  main( ) {std::cout<<"Hello world!"         <<std::endl;

    return 0;}

Понятно, что такой код читать неприятно, а убирать все пробельчики и табуляции ручками неудобно.

Так что применим нашу утилиту и придадим коду удобоворимый вид:

#include <iostream>

int main() {
    std::cout << "Hello world!" << std::endl;

    return 0;
}

Как это настроить:

Окно Clion: File->Settings->Keymap

Вводим в окно поиска «Reformat code» и смотрим

Тут настроено сочетание клавиш Ctrl+Alt+L. Если у вас такого нет, то настройте и нажмите Apply.

После этого вы сможете опробовать утилиту в действии!

Внесение изменений на удалённый репозиторий (сдача лабы)

Как только все баги пофикшены нужно, чтобы они отправились на удалённый репозиторий.
(чтобы ваши изменения были видны не только вам :D)

Для этого входим в наш уже знакомый Github Desktop и видим, как он подхватил наши изменения:

Однако помимо всего прочего в проект вшились cmake-build-debug и .idea. Там хранится всякая
компиляционная канитель, логи и прочее. Нам это не нужно. Чтобы Github Desktop исключил
этих ребят, нужно открыть файл .gitignore(он есть в каждой лабе) и там на любой строчке добавить их в список следующим образом:

Результат видим следующий: теперь всё ненужное идёт мимо, остались только наши изменения.

Осталось дать осмысленное описание нашему коммиту и отправить его в полёт на просторы github:


не забудьте нажать на push(внимание: убедитесь что вы делаете это на ветке wp/lab)

Далее переходим на страницу с лабой в браузере, переключаемся на ветку wp/lab:

Тут у вас появится подобная рыжая вкладочка с предложением создания pull request’a

(что-то типо такого, картинку в интернетиках нашёл, не бейте)

Нажимаем Compare & pull request, даём ему имя wp/lab и продолжаем.

Далее вашу лабу начнёт проверять система автоматизированной сборки и проверки тестиков.

Получив у него галочки по всем пунктам можно отсылать ссылку на pull request своему
преподавателю. Дальше он будет вносить свои коррективы в ваш код.

Заключение

Я попытался написать поподробнее не только про саму работу на Шиндоус, но и общему
подходу к лабкам в принципе. Не сильно беспокойтесь, что сейчас всё это кажется таким
сложным и муторным. Парочка итераций по алгоритму и вы сами просечёте, в чём фишка и
будете делать это всё на автомате.

Если что, обращайтесь к вашим менторам/волонтёрам/преподавателям. Вам обязательно помогут.
За сим откланиваюсь. Спасибо за внимание.

Copyright 2020 aaaaaaaalesha & rkulagin

Понравилась статья? Поделить с друзьями:

Вот еще несколько интересных статей:

  • Как настроить classic shell для windows 10
  • Как настроить citrix workspace на windows
  • Как настроить cisco anyconnect vpn client на windows 10
  • Как настроить cisco anyconnect secure mobility client на windows
  • Как настроить ccleaner для правильной чистки windows 10

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии