微软维护的开源 C/C++ 包管理器,可在 Windows、macOS 和 Linux 上安装并构建第三方库。
- Star
- 12,289
- Fork
- 964
- 未关闭 Issue
- 274
- 最近提交
- 昨天
这是什么?
Xmake 是一个使用 Lua 脚本编写的构建工具,通过单个 xmake.lua 文件描述项目。它既可以像 Make 或 Ninja 那样直接编译源码,也能生成 CMake、Meson、Visual Studio、Makefile 和 compile_commands.json 等项目文件。内置的包管理器可以从官方仓库以及 vcpkg、Conan、Homebrew、apt 等第三方源获取 C/C++ 依赖。
该工具支持 Windows、macOS、Linux、各类 BSD、Android、iOS 和 WebAssembly 等平台,并提供交叉编译与工具链管理。除 C 和 C++ 外,还支持 Objective-C、Swift、Rust、Go、Zig、Fortran、CUDA 等语言及混合语言项目。此外还包括增量编译、C++ 模块、远程与分布式编译,以及本地和远程构建缓存。
核心功能
- 01使用简洁的 Lua 语法编写 xmake.lua 构建配置。
- 02内置包管理器,可集成 xmake-repo、vcpkg、Conan 等来源的依赖。
- 03可生成 Visual Studio、CMake、Ninja、Makefile 及 compile_commands.json。
- 04支持跨平台交叉编译,并内置工具链管理。
- 05支持远程编译、分布式编译以及本地和远程构建缓存。
适用场景
- 用一套配置为 Windows、Linux、macOS 和 Android 构建跨平台 C/C++ 项目。
- 无需手动管理,即可引入 zlib、tbox 等 C/C++ 库。
- 为使用其他 IDE 的团队成员生成 Visual Studio 或 CMake 项目文件。
- 通过分布式编译或构建缓存加速大型 C/C++ 项目的构建。
快速上手
- 1
运行 README 中的官方安装脚本(cURL、Wget 或 PowerShell)
- 2
在项目根目录构建项目
xmake - 3
运行 console 目标
xmake run console
标签
#build-tool#c-plus-plus#cmake#package-manager#cross-compilation#lua#build-cache#devtools#build#cross-toolchains
常见问题
- xmake 是什么?
- 基于 Lua 的跨平台构建工具,支持 C/C++ 等多种语言,并内置依赖包管理。 Xmake 是一个使用 Lua 脚本编写的构建工具,通过单个 xmake.lua 文件描述项目。它既可以像 Make 或 Ninja 那样直接编译源码,也能生成 CMake、Meson、Visual Studio、Makefile 和 compile_commands.json 等项目文件。内置的包管理器可以从官方仓库以及 vcpkg、Conan、Homebrew、apt 等第三方源获取 C/C++ 依赖。
- xmake 可以免费使用吗?用的什么许可证?
- xmake 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- xmake 还在维护吗?
- 活跃维护中。xmake 最近一次提交是在 2026年11月6日。
- xmake 适合用来做什么?
- 用一套配置为 Windows、Linux、macOS 和 Android 构建跨平台 C/C++ 项目。 无需手动管理,即可引入 zlib、tbox 等 C/C++ 库。 为使用其他 IDE 的团队成员生成 Visual Studio 或 CMake 项目文件。 通过分布式编译或构建缓存加速大型 C/C++ 项目的构建。
- xmake 怎么安装和运行?
- 运行 README 中的官方安装脚本(cURL、Wget 或 PowerShell) 在项目根目录构建项目: xmake 运行 console 目标: xmake run console
- 在哪里获取 xmake?
- 源代码和安装说明在 GitHub 上:https://github.com/xmake-io/xmake
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
2.8万+20 本周7787CMakeMIT维护活跃更新于 18小时前
面向 TypeScript 与多语言代码库的 Monorepo 构建平台,缓存未变更的任务并只运行受影响的部分。
2.9万+15 本周2977TypeScriptMIT更新于 18小时前
用于构建、打包和发布 Electron 桌面应用的完整工具链,覆盖从项目初始化到发布的全流程。
7171+4 本周654TypeScriptMIT维护活跃更新于 3天前
面向 Python 项目的构建自动化工具,基于依赖式任务和插件机制定义构建生命周期。
2066276PythonApache-2.0维护活跃更新于 4天前
基于 Python 的应用组装与部署自动化工具,可重复构建 Python 程序及其依赖。
618176PythonOther维护活跃更新于 昨天
面向嵌入式设备的 Linux 系统,提供可写文件系统与软件包管理,常用于路由器定制。
2.9万1.3万COther维护活跃更新于 17小时前