Premake 是用 Lua 编写的构建系统生成器,通过 premake5.lua 脚本生成 VS、Makefile 等原生项目文件;安装需下载二进制并配置 PATH,脚本定义 workspace、project、filter 等实现多配置跨平台构建。
Premake 是一个用 Lua 编写的轻量级构建系统生成器,它不直接编译代码,而是根据你写的 Lua 脚本,生成 Visual Studio、Makefile、Xcode、Ninja 等原生项目文件。对 C++ 开发者来说,它比 CMake 更简洁、更易读写,尤其适合中小型项目或想摆脱 XML/复杂语法的团队。
官方推荐方式是下载预编译二进制:
tps://premake.github.io/download.html,选择对应系统(Windows/macOS/Linux)和版本(如 premake5)premake5(或 premake5.exe)加入系统 PATHpremake5 --version 验证是否成功在项目根目录新建 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"
说明:
workspace 定义整体工作区(VS 解决方案 / Make 的顶层)project 描述一个可执行或库目标files 支持通配符,自动包含源码;也可显式列出 {"src/main.cpp", "src/utils.h"}
filter 按配置/平台切换设置,类似条件编译在终端进入项目目录,运行:
premake5 vs2025 → 生成 Visual Studio 2025 解决方案(.sln)premake5 gmake2 → 生成 GNU Makefile(Linux/macOS 默认)premake5 xcode4 → 生成 Xcode 项目make config=debug(GNU Make)刚上手容易卡在几个地方:
premake5.lua,大小写敏感;Premake 5 不兼容 Premake 4 脚本premake5.lua 所在目录的,files {"src/**.cpp"} 表示 src 子目录下所有 .cppincludedirs、libdirs、links,例如:includedirs { "deps/glad/include" }
libdirs { "deps/glad/lib" }
links { "glad" }filter "system:windows" 或 filter "system:linux"