我在 Windows 上使用 premake5 alpha 6。
当我发现我的 Visual Studio 项目的“运行时库”设置在调试模式下设置为多线程 DLL /MD,而不是多线程调试 DLL (/MDd) 时,问题就出现了。
经查,发现项目文件Debug配置设置为UseDebugLibraries=false。如果我在我的项目文件中手动将其设置为 true,则调试配置“运行时库”设置正确显示为 /MDd。
如何在 premake 脚本的调试模式下将 UseDebugLibraries 设置为 true?我正在做类似下面的事情。请注意,该项目是“SharedLib”,我发现如果类型是“StaticLib”,则运行时库设置 /MDd 可以正常工作。
project "Project"
location "../src"
filename "Project_%{_ACTION or ''}"
kind "SharedLib"
language "C++"
pchheader "stdafx.h"
pchsource "../src/Project/stdafx.cpp"
includedirs {
"../include",
"../src/Project",
}
files {
"../src/Project/**.cpp",
"../src/Project/**.h",
"../src/Project/Project.rc"
}
configuration "vs*"
objdir "../src/Project/$(PlatformToolset)"
configuration { "x64", "Debug" }
defines { "_DEBUG" }
flags { "Symbols" }
configuration { "x64", "Release" }
defines { "NDEBUG" }
configuration { "x86", "Debug" }
defines { "_DEBUG" }
flags { "Symbols" }
configuration { "x86", "Release" }
defines { "NDEBUG" }