git commit -a --amend
git push --force
igsha
git commit -a --amend
git push --force
igsha примет пулл-реквест и замёржит изменения в мастер
igsha
cvlabmiet
main
|
|
$ git checkout main
$ git checkout -b laba3
return(), из файла CMakeLists.txt в соответствующей папке лабораторной работы
build в корне репозитория) от предыдущих попыток
CMakeLists.txt):
$ cmake -B build
ninja, make или просто cmake --build .)
include/), чтобы сборка проходила успешно
|
Предостережение
|
Знак $ — это приглашение командной строки, не нужно его писать |
ctest из дерева сборки
$ git commit -am "My awesome lab3 is perfect"
$ git push
$ git commit -a --amend
$ git push --force
|
Предостережение
|
Настоятельно рекомендуется ознакомиться с лекциями №2 (работа с git) и №3 (работа с cmake) |
Два способа сборки проекта
gnumake (можно ninja)
cmake версии не ниже 3.12
gcc или clang с поддержкой 17-го стандарта C++
catch2 версии не ниже 2.8
boost версии не ниже 1.68
gdb для отладки кода
curl -L https://nixos.org/nix/install | sh
nix-shell.
После этого nix сам установит и скачает нужные пакеты
cmake уже встроена в студию
boost и catch2 будем устанавливать с помощью vcpkg
catch2
|
Подсказка
|
Если есть желание и установленный WSL в системе, можно поиграться в nix-shell. |
|
Предостережение
|
Я не умею в винду, поэтому описание может быть неточным |
Desktop development with C++
C++ CMake tools for Windows
cmake
Tools -> Command Line -> Developers Power Shell
.\bootstrap-vcpkg
.\vcpkg install catch2:x64-windows
.\vcpkg install boost:x64-windows
.\vcpkg integrate install
"variables": [
{
"name": "CMAKE_TOOLCHAIN_FILE",
"value": "[путь до vcpkg]/scripts/buildsystems/vcpkg.cmake"
}
]
Configure, Build, Generate Cache, … — что-нибудь из этого)
Test -> Run CTests)
CMakeSettings.json, out и т.д.)