- Для больших задач (домашняя работа) создавайте папки на верхнем уровне (
lab1
,lab2
и т.д.). - Работу в классе заливайте в папку
classwork
.
В папке lab1 лежит пример того, как можно настроить свой проект с использованием кроссплатформенной системы сборки CMake и библиотеки тестирования GoogleTest.
Содержимое:
main.cpp
- реализация функцииmain
. Не рекомендуется добавлять в этот файл что-то еще.task1/2.h
,task1/2.cpp
- файлы реализации задачи.task1/2_test.cpp
- тесты (с использованием GoogleTest).CMakeLists.txt
- правила сборки для CMake.
Подготовка к сборке:
- Убедитесь, что в системе установлен компилятор C++. Для Windows проще всего установить Visual Studio (компилятор идёт вместе с ней), но есть и другие варианты (например, mingw/cygwin + gcc). Для других систем (Linux, Mac OS) установите gcc.
- Установите CMake.
Как собрать проект из командной строки:
- Cоздайте папку
build
внутри lab1. Перейдите в неё. Все дальнейшие действия нужно выполнять из этой папки. - Запустите
cmake ..
. Результатом этой операции будет создание билд-скриптов в текущей папке. Это нужно сделать один раз. - Запустите сборку при помощи команды
cmake --build .
(под Linux/MacOS/cygwin/mingw также сработает простоmake
). Это нужно делать каждый раз для пересборки проекта. - Проверьте, что собрались и запускаются исполняемые файлы
nsuoop-cpp-template(.exe)
иtest(.exe)
. Под Windows они могут лежать в папкеDebug
.
Можно также воспользоваться CMake GUI.
Visual Studio поддерживает CMake, поэтому можно просто открыть папку с проектом в ней. В этом случае по умолчанию папкой для сборки будет
out/build
, а неbuild
.
Как вносить изменения:
- При внесении изменений в существующие h/cpp-файлы для пересборки нужно снова сделать
cmake --build .
(илиmake
). Если пользуетесь IDE, она будет делать это сама. - При создании новых (или удалении старых) cpp-файлов необходимо соответствующим образом изменить
CMakeLists.txt
(см. комментарии в нём). После этого снова сделатьcmake --build .
(илиmake
). Это не относится к h-файлам, так как они не порождают новые единицы трансляции. h-файлы можно создавать и удалять, не меняяCMakeLists.txt
.
Даже если пользуетесь Visual Studio или другой IDE,
CMakeLists.txt
все равно должен находиться в актуальном состоянии, чтобы проект можно было собрать на любой системе без помощи IDE.
Некоторые шаги ниже вы, возможно, уже делали раньше.
- Устанавливаем Git на вашем компьютере (качаем отсюда).
- Открываем папку, где будет репозиторий, и выбираем в контекстном меню
Open Git Bash here
. - Создаем SSH-ключ и привязываем его к аккаунту на GitHub, следуя инструкциям отсюда.
- Выполняем команду
git clone <git-ссылка>
. Git-ссылку можно получить на странице вашего репозитория (нажав кнопкуCode
). - Эта команда создаст новую папку в текущей папке с названием вашего репозитория. В ней теперь лежит его локальная копия, с которой вы можете работать.
Как работать с локальной копией:
- Создаёте, удаляете, меняете файлы и папки, как вам нужно.
- Чтобы залить изменения на GitHub, открываете
Git Bash
в папке вашего репозитория и выполняете следующие команды:$ git add . $ git commit -m "Краткое описание изменений" $ git push
- Проверяем, что всё залито успешно, командой
git status
:Если вывела такое, то всё ОК.$ git status On branch master Your branch is up to date with 'origin/master'. nothing to commit, working tree clean
- Коммитить и пушить рекомендуется часто, как минимум один раз за каждый день, когда вы работали.
Рекомендуется самостоятельно изучить работу с Git более подробно.