Furnace跨平台编译完全手册:Windows、macOS、Linux、Android全平台支持
Furnace是一款多系统芯片音乐跟踪器,兼容DefleMask模块,支持在Windows、macOS、Linux和Android等多个平台上运行。本指南将详细介绍如何在不同操作系统环境下编译Furnace,帮助开发者和音乐爱好者快速搭建开发环境,体验这款强大的音乐创作工具。
编译环境准备
核心依赖要求
Furnace的编译依赖于CMake构建系统和C++14标准。从项目根目录的CMakeLists.txt中可以看到,最低CMake版本要求为3.0,推荐使用3.16及以上版本以获得更好的兼容性。
cmake_minimum_required(VERSION 3.0...3.16)
set(CMAKE_CXX_STANDARD 14)
各平台通用依赖
- Git(用于获取源代码)
- CMake(3.0+)
- C++编译器(GCC、Clang或MSVC)
- 构建工具(Make、Ninja或Visual Studio)
Windows平台编译指南
Windows 10/11 64位系统
-
安装依赖
- 安装Git、CMake和MinGW-w64工具链
- 通过以下命令克隆仓库:
git clone https://gitcode.com/gh_mirrors/fu/furnace cd furnace
-
使用脚本编译 项目提供了专门的Windows编译脚本scripts/release-win64.sh,使用MinGW工具链进行交叉编译:
# 在WSL或Linux环境中执行 ./scripts/release-win64.sh脚本会自动配置构建参数,包括启用本地化支持和Vista兼容模式。
Windows XP兼容版本
对于需要支持Windows XP的场景,可以使用scripts/release-winxp.sh脚本,该脚本会禁用现代CPU指令集并优化XP兼容性:
./scripts/release-winxp.sh
Linux平台编译指南
Ubuntu/Debian系统
-
安装基础依赖
sudo apt-get install build-essential cmake git libsdl2-dev -
标准编译流程 使用项目提供的Linux构建脚本scripts/release-linux.sh:
git clone https://gitcode.com/gh_mirrors/fu/furnace cd furnace ./scripts/release-linux.sh脚本会创建优化的Release版本,并自动处理依赖项和安装路径。
AppImage打包
对于需要跨发行版运行的场景,可以使用AppImage格式打包:
./scripts/release-linux-AppImage.sh
这将生成一个独立的AppImage文件,可在大多数Linux系统上直接运行。
macOS平台编译指南
编译步骤
-
安装Xcode命令行工具
xcode-select --install -
使用专用脚本编译 项目提供了macOS专用构建脚本scripts/release-mac.sh:
git clone https://gitcode.com/gh_mirrors/fu/furnace cd furnace ./scripts/release-mac.sh脚本默认生成支持macOS 10.9及以上版本的应用程序包,并通过cpack生成DMG安装文件。
Android平台编译指南
构建步骤
-
配置Android开发环境
- 安装Android Studio和NDK
- 设置ANDROID_HOME环境变量
-
编译Android应用 Android项目位于android/目录,使用Gradle构建系统:
cd android ./gradlew assembleRelease从android/app/build.gradle可以看到,项目配置了minSdkVersion 21,支持ARM64架构:
defaultConfig { minSdkVersion 21 targetSdkVersion 26 externalNativeBuild { cmake { arguments "-DANDROID_APP_PLATFORM=android-21", "-DANDROID_STL=c++_static" abiFilters 'arm64-v8a' } } }
编译配置选项
Furnace提供了丰富的编译选项,可以通过CMake参数进行配置:
-DBUILD_GUI: 启用GUI构建(默认开启)-DWITH_JACK: 启用JACK音频支持-DWITH_ASIO: 启用ASIO音频支持(仅Windows)-DWITH_DEMOS: 包含演示歌曲-DWITH_INSTRUMENTS: 安装乐器库
例如,构建不带GUI的命令行版本:
cmake -DBUILD_GUI=OFF ..
make
编译常见问题解决
依赖项缺失
如果遇到依赖项缺失错误,可以检查CMakeLists.txt中的find_package和pkg_check_modules部分,确保所有必需的库都已安装。
Windows编译错误
Windows平台可能需要安装额外的依赖库,建议使用MSYS2或Cygwin环境,并确保MinGW工具链路径正确配置。
Android构建失败
Android构建需要正确配置NDK路径,可以在android/local.properties文件中指定:
ndk.dir=/path/to/android-ndk
通过以上步骤,您可以在各种平台上成功编译Furnace。编译完成后,可在对应平台的release目录下找到生成的可执行文件或安装包。如需进一步定制编译选项,可以查阅项目的CMakeLists.txt和各平台的构建脚本,根据需求调整参数。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考




