Coder Social home page Coder Social logo

graphics-course-practice's Introduction

Как развернуть тестовый проект

  1. Установите CMake версии не меньше 3.12
  2. Установите библиотеку GLEW
    • Windows: скачайте архив (Binaries Windows 32-bit and 64-bit) и распакуйте куда-нибудь
    • Linux: поставьте dev-пакет GLEW из официальных репозиториев (apt install libglew-dev, etc)
    • mac OS: поставьте GLEW через Homebrew (brew install glew)
  3. Установите библиотеку SDL2
    • Windows: скачайте dev-архив (подпункт Development Libraries на странице скачивания; например, версию 2.0.16 для Visual Studio) и распакуйте куда-нибудь
    • Linux: поставьте dev-пакет SDL2 из официальных репозиториев (apt install libsdl2-dev, etc)
    • Скачайте образ под macOS (например, версию 2.0.16) и установите, или поставьте SDL2 через Homebrew (brew install sdl2)
  4. Склонируйте куда-нибудь репозиторий с кодом для практического занятия: git clone https://github.com/lisyarus/graphics-course-practice.git
  5. Соберите тестовый проект (graphics-course-practice/2022/practice1):
    • Windows:
      1. В директории с проектом создайте директорию сборки <путь>/graphics-course-practice/2022/practice1/build
      2. Откройте терминал (стандартный cmd или лучше PowerShell, Git Bash, Cygwin, или что-нибудь такое) и перейдите в директорию сборки <путь>/graphics-course-practice/2022/practice1/build
      3. Сконфигурируйте сборку, запустив CMake: cmake .. -G '<генератор>' -DGLEW_ROOT='<путь до библиотеки GLEW>' -DSDL2_ROOT='<путь до библиотеки SDL2>, где
        • <генератор> - выбранный вами CMake-генератор, например 'Visual Studio 17 2022', если вы хотите сконфигурировать проект для работы с Visual Studio 17 2022 (полный список Visual Studio генераторов есть здесь)
        • '<путь до библиотеки GLEW>' - путь до директории, куда вы распаковали библиотеку GLEW (в ней должны быть директории doc, lib, include, bin и файл LICENSE.TXT)
        • '<путь до библиотеки SDL2>' - путь до директории, куда вы распаковали библиотеку SDL2 (в ней должны быть директории doc, include, lib и несколько .txt-файлов) При использовании нестандартного эмулятора терминала могут возникнуть проблемы с форматом путей, но CMake должен нормально распознать стандартные Windows-пути (C:\Users\Me\Projects\graphics-course-practice\2022\...) В некоторых терминалах нужно использовать двойные, а не одинарные кавычки
      4. Соберите проект: cmake --build .
      5. Скопируйте необходимые библиотеки (${SDL2_ROOT}/lib/x64/SDL2.dll и ${GLEW_ROOT}/bin/Release/x64/glew32.dll) в директорию с собранным проектом (при использовании Visual Studio это будет build/Debug) и погорюйте о том, что в Windows нет концепции RPath
      6. Запустите собранный проект, должно появиться окно голубого цвета: build/practice1
        • Пункты d и f можно выполнить из Visual Studio, если вы использовали соответствующий генератор, -- для этого нужно открыть Visual Studio solution, сгенерированный в директории сборки, и выбрать practice1 (вместо ALL_BUILD!) в качестве стартового проекта
    • Windows с помощью CMake-GUI:
      1. В директории с проектом создайте директорию сборки <путь>/graphics-course-practice/2022/practice1/build
      2. Запустите CMake-GUI (он идёт в стандартном коплекте с CMake, т.е. скорее всего уже у вас установлен)
      3. В качестве директории с исходным кодом (Where is the source code:) укажите путь до тестового проекта (<путь>/graphics-course-practice/2022/practice1)
      4. В качестве директории сборки (Where to build the binaries:) укажите путь до директории сборки (<путь>/graphics-course-practice/2022/build)
      5. Добавьте переменную GLEW_ROOT с путём до библиотеки GLEW:
        1. Нажмите Add Entry
        2. Введите имя GLEW_ROOT
        3. Выберите тип PATH
        4. Выберите соответствующий путь в (Value)
      6. Аналогично, добавьте переменную SDL2_ROOT с путём до библиотеки SDL2
      7. Нажмите Configure
      8. Нажмите Generate
      9. Дальнейшие действия совпадают с пунктами d-f в описании сборки под Windows
    • Linux/macOS:
      1. Убедитесь, что вы находитесь в директории с проектом (graphics-course-practice/2022/practice1)
      2. Создайте директорию сборки и перейдите в неё: mkdir build && cd build
      3. Сконфигурируйте сборку, запустив CMake: cmake ..
      4. Соберите проект: cmake --build .
      5. Запустите собранный проект, должно появиться окно голубого цвета: ./practice1
    • Любая ОС, CLion:
      1. На старте выберите "открыть проект", и откройте CMakeLists.txt в корне тестового проекта (2022/practice1/CMakeLists.txt) как проектный файл (CLion может спросить об этом)
      2. Под windows: нужно создать CMake-профиль с путями до библиотек:
        1. Откройте File > Settings > Build, Execution, Deployment > CMake
        2. Если не хотите менять текущий профиль (по умолчанию - Debug), создайте новый (плюсик сверху списка профилей)
        3. В строке CMake options введите -DGLEW_ROOT='<путь до библиотеки GLEW>' -DSDL2_ROOT='<путь до библиотеки SDL2> (подробнее об этих путях см. в пункте Windows.c выше)
          • Генератор при этом указывать не нужно!
        4. Закройте окно настроек
        5. Если вы создавали новый профиль, выберите его в списке конфигураций (справа вверху)
      3. Запустите проект (Run / [F6]), должно появиться окно голубого цвета

graphics-course-practice's People

Contributors

lisyarus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.