SharedLib Project未在调试模式

时间:2015-12-08 23:27:36

标签: premake

我在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" }

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找optimize功能:

  • " On"," Size"," Speed"," Full"产生SELECT '随机字符中国'; ?????? SELECT N'随机字符中国'; 随机字符中国
  • &#34;关闭&#34;和&#34;调试&#34;产生<UseDebugLibraries>false</UseDebugLibraries>

所以你可以这样写:

<UseDebugLibraries>true</UseDebugLibraries>

以上使用预制5.x

中的新filtering system