用premake5创建lua532工程
(金庆的专栏)
lua-5.3.2只有Makefile,根据readme.html中
“Building Lua on other systems” 这一段的说明,
可以自己创建 VS 工程来编译 lua,luac, liblua.
这里使用 premake5 创建 Vs 工程。
在 lua-5.3.2/ 目录下创建 premake5.lua 文件:
-- premake5.lua
workspace "lua-5.3.2"
configurations { "Debug", "Release" }
language "C++"
targetdir "bin/%{cfg.buildcfg}"
filter "configurations:Debug"
defines { "DEBUG" }
flags { "Symbols" }
filter "configurations:Release"
defines { "NDEBUG" }
optimize "On"
project "lua532"
kind "ConsoleApp"
files { "src/lua.c" }
links { "liblua532" }
project "luac532"
kind "ConsoleApp"
files { "src/luac.c" }
links { "liblua532" }
project "liblua532"
kind "StaticLib"
files { "src/*.h", "src/*.c" }
removefiles { "src/lua.c", "src/luac.c" }
然后运行:
premake5.exe vs2015
可生成 VS2015 的 sln.
premake5.exe 可搜索 premake 下载。
因为 lua-intf 需要将 lua 库编译为 C++ 库,
这里特意将语言设为 C++:
language "C++"
结果是项目属性显示
C/C++ -> 高级 -> 编译为:默认值
应该是:C++代码(/TP)
需要手工设置为 C++.
如果是 language "C",则会设置为:C代码(/TC).
因为后缀名为 .c, 所以默认值是按C代码编译。