我正在尝试使用像这样的自定义脚本运行premake
premake4.exe -file = proj4_shared.lua vs2010
我得到了
proj4_shared.lua:2:没有活动的解决方案,项目或配置
proj4_shared.lua的观点:
#!lua
solution ("Proj4")
project "proj4"
language "C++"
kind "SharedLib"
files { "proj4/*.h", "src/src/*.c", "src/src/proj4.def" }
excludes { "src/src/cs2cs.c", "src/src/geod.c", "src/src/nad2bin.c", "src/src/nad2nad.c" }
location (BUILD_DIR .. "vcproj")
includedirs { "src/src" }
defines { "WIN32", "_CRT_SECURE_NO_WARNINGS" }
buildoptions { "/W1" }
local p = project()
p.uuid = GetExistingUuid(p) or p.uuid
configuration { "Debug*" }
defines { "_DEBUG", "DEBUG" }
flags { "Symbols" }
targetsuffix "D"
configuration { "Release*" }
defines { "NDEBUG" }
flags { "Optimize" }
if (not DISABLE_RELEASE_SYMBOLS) then flags { "Symbols" } end
targetsuffix ""
根据https://github.com/premake/premake-4.x/wiki/solution
解决方案功能会创建一个新解决方案并使其处于活动状态
那么问题是什么?
答案 0 :(得分:0)
我建议您尝试:
solution ("Proj4")
local p = project "proj4"
...
我怀疑对project()
的调用没有任何争论会使系统混乱。
可替换地:
您可以尝试:
local p = premake.api.current.project
这也应该可以帮助您了解当前项目。
注意:我使用的是premake5.exe,而不是premake 4,因此有些事情可能在过渡期间发生了变化。