xmake构建C++项目只需三步:初始化、编写xmake.lua、执行命令;它跨平台、免手写Makefile/CMakeLists,原生支持C++20模块、PCH和包管理。

用 xmake 构建 C++ 项目,核心就三步:初始化项目、写好 xmake.lua、执行构建命令。它不依赖 CMake 的复杂语法,也不需要手写 Makefile,配置简洁、跨平台、原生支持现代 C++ 特性(如 C++20 模块、预编译头、包管理)。
快速上手:新建并构建一个 C++ 项目
在终端中执行:
-
xmake create -l c++ -t console myproject—— 创建一个带 main.cpp 的控制台项目 cd myproject-
xmake—— 默认编译为 debug 版本,输出在build/ -
xmake run—— 直接运行生成的可执行文件
整个过程无需手动配置编译器或链接选项,xmake 自动探测系统环境(GCC/Clang/MSVC)并选择合适标准(默认 C++17)。
配置 xmake.lua:声明目标与特性
这是 xmake 的核心配置文件,替代了 CMakeLists.txt。例如启用 C++20 并链接第三方库:
立即学习“C++免费学习笔记(深入)”;
add_rules("mode.debug", "mode.release")
target("hello")
set_kind("binary")
add_files("src/*.cpp")
set_languages("cxx20") -- 显式启用 C++20
add_packages("fmt", "nlohmann_json") -- 自动下载并链接
常用设置说明:
-
set_languages("cxx20")或"c23":指定语言标准 -
add_cxxflags("-fconcepts"):添加特定编译器扩展 -
add_defines("NDEBUG"):定义宏 -
add_includedirs("include"):添加头文件搜索路径
集成现代开发需求:模块、PCH、包管理
xmake 原生支持 C++20 Modules 和预编译头(PCH),无需插件:
-
模块支持:在
xmake.lua中启用add_rules("c++.modules"),然后用add_files("src/module.ixx")添加模块接口文件 -
预编译头:用
add_headerfiles("src/stdafx.h")+set_pcheader("src/stdafx.h")即可自动处理 -
包管理:通过
add_requires("boost", {system = true})优先用系统包,失败则自动从 conan/vcpkg/xmake-repo 拉取
跨平台构建与持续集成友好
xmake 输出统一构建目录,支持多配置并行构建:
-
xmake -p windows -a x64 -m release:指定平台、架构、模式 -
xmake clean -a:清理所有平台构建产物 -
xmake project -k vsxmake:生成 Visual Studio 工程(仅用于编辑,不用于构建) - CI 中只需
xmake install --destdir=./output即可打包可部署产物
所有命令行为一致,Windows/macOS/Linux 上脚本几乎不用修改。











