Все статьи / Установка библиотек для MacOSX

Краткая инструкция по установке всех нужных для курса библиотек на MacOSX


ПРЕДУПРЕЖДЕНИЕ: руководство не проверено на настоящей машине с MacOSX, некоторые пункты могут не соответствовать действительности.

Установка XCode

В MacOSX простейший способ получить компилятор C++ — установить XCode из AppStore.

После установки нужно установить пакет XCode Command-Line Tools. Для этого выполните в терминале команду:

xcode-select --install

Установка Homebrew

Установка C++ библиотек будет выполняться с помощью Homebrew. Для установки Homebrew перейдите на сайт brew.sh и выполните предлагаемый там однострочный скрипт.

После установки в терминале вам доступна команда brew:

# Поиск библиотек, в названии которых есть подстрока "boost" 
brew search boost

# Вывод информации о дополнительных опциях установки пакета
brew info boost

# Установка библиотеки boost
brew install boost

Команда brew info boost выводит информацию об опциях:

...
--without-python
    Build without Boost.Python module
...

Установка библиотек, доступных в Homebrew

Множество C/C++ библиотек доступно в виде формул Homebrew. Следующие библиотеки используются в нашем курсе:

  • Assimp для загрузки 3D моделей из множества форматов файлов
  • SDL2, SDL2 image, SDL2 mixer, SDL2 TTF в целях абстрагирования от операционной системы для создания окон, растеризации текстовых надписей, загрузки изображений с диска, загрузки и проигрывания звуковых файлов
  • GLbinding для прозрачного подключения нужной версии API OpenGL без необходимости вручную работать с механизмом расширений OpenGL
  • Tinyxml 2 для загрузки XML
  • Bullet 2 для расчёта столкновений в 3D пространстве
  • GLM для работы с линейной алгеброй в рамках задач 3D графики

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

brew install assimp sdl2 sdl2_image sdl2_mixer sdl2_ttf glbinding tinyxml2 bullet glm

Библиотека anax

Библиотека используется для построения архитектуры программы на принципах Component-Entity-System.

TODO: описать процесс

Библиотека nlohmann-json

Библиотека используется для загрузки и сохранения JSON.

TODO: описать процесс