Premake 是用 Lua 编写的构建系统生成器,通过 premake5.lua 脚本生成 VS、Makefile 等原生项目文件;安装需下载二进制并配置 PATH,脚本定义 workspace、project、filter 等实现多配置跨平台构建。

Premake 是一个用 Lua 编写的轻量级构建系统生成器,它不直接编译代码,而是根据你写的 Lua 脚本,生成 Visual Studio、Makefile、Xcode、Ninja 等原生项目文件。对 C++ 开发者来说,它比 CMake 更简洁、更易读写,尤其适合中小型项目或想摆脱 XML/复杂语法的团队。
安装 Premake
官方推荐方式是下载预编译二进制:
- 访问 https://premake.github.io/download.html,选择对应系统(Windows/macOS/Linux)和版本(如 premake5)
-
解压后把
premake5(或premake5.exe)加入系统 PATH - 终端输入
premake5 --version验证是否成功
写第一个 C++ 项目脚本(premake5.lua)
在项目根目录新建 premake5.lua,内容如下:
workspace "MyApp"
configurations { "Debug", "Release" }
platforms { "x64" }
project "MyApp"
kind "ConsoleApp"
language "C++"
cppdialect "C++17"
targetdir "bin/%{cfg.buildcfg}"
files { "**.h", "**.cpp" }
filter "configurations:Debug"
defines { "DEBUG" }
symbols "On"
filter "configurations:Release"
defines { "NDEBUG" }
optimize "On"
说明:
立即学习“C++免费学习笔记(深入)”;
-
workspace定义整体工作区(VS 解决方案 / Make 的顶层) -
project描述一个可执行或库目标 -
files支持通配符,自动包含源码;也可显式列出{"src/main.cpp", "src/utils.h"} -
filter按配置/平台切换设置,类似条件编译
生成项目并构建
在终端进入项目目录,运行:
-
premake5 vs2022→ 生成 Visual Studio 2022 解决方案(.sln) -
premake5 gmake2→ 生成 GNU Makefile(Linux/macOS 默认) -
premake5 xcode4→ 生成 Xcode 项目 - 生成后直接用对应 IDE 打开,或命令行构建:
make config=debug(GNU Make)
常用技巧与避坑提示
刚上手容易卡在几个地方:
- 脚本必须叫
premake5.lua,大小写敏感;Premake 5 不兼容 Premake 4 脚本 - 路径是相对于
premake5.lua所在目录的,files {"src/**.cpp"}表示 src 子目录下所有 .cpp - 添加第三方库?用
includedirs、libdirs、links,例如:
includedirs { "deps/glad/include" }
libdirs { "deps/glad/lib" }
links { "glad" } - 想跨平台定义宏?
filter "system:windows"或filter "system:linux"











