Сборка mGBA из исходников
Это руководство объясняет, как скомпилировать mGBA из исходного кода. Сборка из исходников позволяет использовать последнюю версию разработки, настроить сборку или участвовать в проекте.
Предварительные требования
Необходимые инструменты
- CMake 3.1 или новее: Генератор системы сборки
- Компилятор C: GCC 4.9+, Clang 3.4+ или MSVC 2015+
- Git: Система контроля версий
Зависимости
- SDL2: Кроссплатформенная мультимедийная библиотека (2.0.8 или новее)
- Qt5: GUI инструментарий (опционально, для Qt GUI)
- libpng: Библиотека изображений PNG
- zlib: Библиотека сжатия
- lua: Библиотека скриптов Lua (5.4, опционально)
Получение исходного кода
Клонирование репозитория
git clone https://github.com/mgba-emu/mgba.git cd mgba
Обновление подмодулей
git submodule update --init --recursive
Сборка на Windows
Использование Visual Studio
- Установите Visual Studio 2015 или новее с поддержкой C++
- Установите CMake и добавьте в PATH
- Запустите CMake GUI или используйте командную строку:
mkdir build cd build cmake .. -G "Visual Studio 16 2019" -A x64 cmake --build . --config Release
Использование MinGW
mkdir build cd build cmake .. -G "MinGW Makefiles" cmake --build .
Сборка на macOS
Использование Xcode
- Установите Xcode Command Line Tools:
xcode-select --install - Установите зависимости через Homebrew:
brew install cmake sdl2 libpng zlib lua
Затем соберите:
mkdir build cd build cmake .. -G Xcode cmake --build . --config Release
Сборка на Linux
Ubuntu/Debian
Установите зависимости:
sudo apt-get update sudo apt-get install build-essential cmake libsdl2-dev libqt5opengl5-dev qtbase5-dev libpng-dev zlib1g-dev liblua5.4-dev
Соберите:
mkdir build cd build cmake .. make -j4
Fedora
sudo dnf install gcc cmake SDL2-devel qt5-qtbase-devel libpng-devel zlib-devel lua-devel mkdir build && cd build cmake .. make -j4
Arch Linux
sudo pacman -S cmake sdl2 qt5-base libpng zlib lua mkdir build && cd build cmake .. make -j4
Опции CMake
Настройте параметры сборки:
- USE_QT: Включить Qt GUI (ON/OFF, по умолчанию: ON)
- USE_SDL: Включить интерфейс SDL (ON/OFF, по умолчанию: ON)
- USE_DEBUGGERS: Включить поддержку отладчика (ON/OFF, по умолчанию: ON)
- USE_LUA: Включить скрипты Lua (ON/OFF, по умолчанию: ON)
- BUILD_GL: Собрать рендерер OpenGL (ON/OFF, по умолчанию: ON)
cmake .. -DUSE_QT=ON -DUSE_SDL=ON -DUSE_LUA=ON
Установка
После сборки установите mGBA:
# Linux/macOS sudo cmake --install . --prefix /usr/local # Или установите в пользовательское место cmake --install . --prefix ~/local
Устранение проблем со сборкой
Отсутствующие зависимости
Если CMake сообщает об отсутствующих зависимостях:
- Установите отсутствующие пакеты с помощью менеджера пакетов
- Убедитесь, что установлены заголовочные файлы разработки (не только библиотеки времени выполнения)
- Используйте
pkg-configдля проверки установки зависимостей
Ошибки сборки
Распространённые ошибки сборки и решения:
- Ошибки компилятора: Обновите компилятор до поддерживаемой версии
- Ошибки линковщика: Убедитесь, что все зависимости установлены
- Ошибки CMake: Обновите CMake до версии 3.1 или новее
- Проблемы с подмодулями Git: Запустите
git submodule update --init --recursive
Нужна помощь? Если вы столкнулись с проблемами сборки, проверьте GitHub Issues на наличие похожих проблем
или попросите помощи в GitHub Discussions.
Связанные статьи
Для получения дополнительной информации о разработке mGBA:
- Участие в разработке mGBA - Руководство по участию в коде, отчетах об ошибках и документации
- Обзор архитектуры - Понимание структуры кодовой базы mGBA, компонентов и принципов проектирования
- API скриптинга Lua - Документация API для интерфейса скриптов Lua
- Руководство по устранению неполадок - Решения распространённых проблем и вопросов