我在 Visual Studio 2013 中使用 premake5,并尝试将第三方库链接到我的项目。这个库的调试版本像往常一样具有“d”后缀。这是示例脚本。
solution "MySln"
language "C++"
configurations { "debug", "release" }
d = ""
configuration "debug"
d = "d"
configuration "release"
d = ""
libicu = { "icuin%{d}", "icuuc%{d}" }
project "core"
kind "SharedLib"
location "core"
links(libicu)
files { "core/**.h", "core/**.cpp" }
但是这个脚本在两个配置(调试和发布)icuin.lib 和 icuuc.lib 中都有链接。如果我在配置“发布”块中删除d = ""分配,那么这两个配置都链接 icund.lib 和 icuucd.lib 库。看起来 premake 在解析 %{d} 占位符时使用了最新看到的变量定义。如何更改我的脚本以获得正确的行为?谢谢!