Compilando - ZeebxTeam/zeebx-emu GitHub Wiki
Compilando
Precisa do Rust 1.88 ou mais novo. A interface Qt precisa também do Qt 6.4 ou mais novo.
Dependências
Debian, Ubuntu e derivados:
sudo apt install build-essential cmake ninja-build pkg-config python3 clang libclang-dev \
libglib2.0-dev libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev \
qt6-base-dev qt6-base-dev-tools qt6-declarative-dev qt6-declarative-dev-tools qmake6 \
qt6-wayland qml6-module-qtquick qml6-module-qtquick-controls qml6-module-qtquick-layouts \
qml6-module-qtquick-templates qml6-module-qtquick-window qml6-module-qtqml-workerscript
No Arch: qt6-base qt6-declarative qt6-wayland. O build acha o Qt pelo qmake6 ou pelo qmake;
para usar outro, aponte a variável QMAKE para ele.
Para conferir o que falta antes de compilar:
python3 ferramentas/prepara_build.py
Desktop
cargo build --release --locked -p zeebx-standalone-qt # target/release/zeebx-qt
cargo build --release --locked -p zeebx-standalone-egui # target/release/zeebx (legado)
Pela linha de comando, o binário do egui abre um jogo direto:
cargo run --release -p zeebx-standalone-egui -- run "roms/Quake.zip" --window
O run relata onde o jogo parou, o que ele pediu que o emulador ainda não tem e o log que os
próprios desenvolvedores do jogo deixaram no binário. As opções de depuração estão no
ARCHITECTURE.md.
Testes
cargo test --release --locked -p zeebx -p zeebx-standalone-egui -p zeebx-standalone-qt
Libretro e headless
cargo build --release --locked -p zeebx-headless -p zeebx-libretro
python3 ferramentas/verifica_core.py target/release/libzeebx_libretro.so
python3 ferramentas/instala_core.py --release # instala o .so e o .info no RetroArch
O verifica_core.py abre o core como o RetroArch abre e chama a ABI, o que pega dependência que
faltou no link.
Android, iOS e Switch
Cada um tem o seu passo a passo no repositório:
- Android:
frontends/android/LEIAME.md(./frontends/android/compilar.sh --apk) - iOS, num Mac com Xcode:
frontends/ios/LEIAME.md(./frontends/ios/compilar.sh --app) - Switch:
frontends/switch/compilar.sh
Instaladores
Os instaladores saem do cargo-packager. O roteiro completo de cada formato (o .deb, o
AppImage, o Windows e o macOS) está no
README
e no release.yml.