Skip to content

Заготовка лабораторной по курсу "ООП (С++)" ФИТ НГУ

Notifications You must be signed in to change notification settings

dsavenko/nsu-oop-cpp-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Заготовка репозитория для лабораторных по курсу "ООП (С++)" ФИТ НГУ

  1. Для больших задач (домашняя работа) создавайте папки на верхнем уровне (lab1, lab2 и т.д.).
  2. Работу в классе заливайте в папку classwork.

Заготовка проекта CMake + GoogleTest

В папке lab1 лежит пример того, как можно настроить свой проект с использованием кроссплатформенной системы сборки CMake и библиотеки тестирования GoogleTest.

Содержимое:

  1. main.cpp - реализация функции main. Не рекомендуется добавлять в этот файл что-то еще.
  2. task1/2.h, task1/2.cpp - файлы реализации задачи.
  3. task1/2_test.cpp - тесты (с использованием GoogleTest).
  4. CMakeLists.txt - правила сборки для CMake.

Подготовка к сборке:

  1. Убедитесь, что в системе установлен компилятор C++. Для Windows проще всего установить Visual Studio (компилятор идёт вместе с ней), но есть и другие варианты (например, mingw/cygwin + gcc). Для других систем (Linux, Mac OS) установите gcc.
  2. Установите CMake.

Как собрать проект из командной строки:

  1. Cоздайте папку build внутри lab1. Перейдите в неё. Все дальнейшие действия нужно выполнять из этой папки.
  2. Запустите cmake ... Результатом этой операции будет создание билд-скриптов в текущей папке. Это нужно сделать один раз.
  3. Запустите сборку при помощи команды cmake --build . (под Linux/MacOS/cygwin/mingw также сработает просто make). Это нужно делать каждый раз для пересборки проекта.
  4. Проверьте, что собрались и запускаются исполняемые файлы nsuoop-cpp-template(.exe) и test(.exe). Под Windows они могут лежать в папке Debug.

Можно также воспользоваться CMake GUI.

Visual Studio поддерживает CMake, поэтому можно просто открыть папку с проектом в ней. В этом случае по умолчанию папкой для сборки будет out/build, а не build.

Как вносить изменения:

  1. При внесении изменений в существующие h/cpp-файлы для пересборки нужно снова сделать cmake --build . (или make). Если пользуетесь IDE, она будет делать это сама.
  2. При создании новых (или удалении старых) cpp-файлов необходимо соответствующим образом изменить CMakeLists.txt (см. комментарии в нём). После этого снова сделать cmake --build . (или make). Это не относится к h-файлам, так как они не порождают новые единицы трансляции. h-файлы можно создавать и удалять, не меняя CMakeLists.txt.

Даже если пользуетесь Visual Studio или другой IDE, CMakeLists.txt все равно должен находиться в актуальном состоянии, чтобы проект можно было собрать на любой системе без помощи IDE.

Краткая справка по использованию Git с командной строки (Windows)

Некоторые шаги ниже вы, возможно, уже делали раньше.

  1. Устанавливаем Git на вашем компьютере (качаем отсюда).
  2. Открываем папку, где будет репозиторий, и выбираем в контекстном меню Open Git Bash here.
  3. Создаем SSH-ключ и привязываем его к аккаунту на GitHub, следуя инструкциям отсюда.
  4. Выполняем команду git clone <git-ссылка>. Git-ссылку можно получить на странице вашего репозитория (нажав кнопку Code).
  5. Эта команда создаст новую папку в текущей папке с названием вашего репозитория. В ней теперь лежит его локальная копия, с которой вы можете работать.

Как работать с локальной копией:

  1. Создаёте, удаляете, меняете файлы и папки, как вам нужно.
  2. Чтобы залить изменения на GitHub, открываете Git Bash в папке вашего репозитория и выполняете следующие команды:
    $ git add .
    $ git commit -m "Краткое описание изменений"
    $ git push
    
  3. Проверяем, что всё залито успешно, командой git status:
    $ git status
    On branch master
    Your branch is up to date with 'origin/master'.
    
    nothing to commit, working tree clean
    
    Если вывела такое, то всё ОК.
  4. Коммитить и пушить рекомендуется часто, как минимум один раз за каждый день, когда вы работали.

Рекомендуется самостоятельно изучить работу с Git более подробно.

About

Заготовка лабораторной по курсу "ООП (С++)" ФИТ НГУ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published