Visual Studio 2017-MSBuild命令行-“ Debug | Win32”无效

时间:2019-03-01 18:03:22

标签: c++ visual-studio command-line msbuild

当我尝试在命令行上使用MSBuild编译c ++解决方案

1-默认情况下不选择活动配置

2-在我强制执行(Debug / Win32)时,它说它不存在

3-如果我尝试使用Release / Win32的不同组合,则会遇到相同的问题

c:\myproject>"P:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild".exe game2D_sdl.sln /p:useenv=true /m /t:rebuild /p:Configuration=Debug  /p:Platform=Win32
...
     1>c:\myproject\game2D_sdl.sln.metaproj : error MSB4126: The specified solution configuration "Debug|Win32" is invalid. Please specify a valid solution configuration using the Configura
       tion and Platform properties (e.g. MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU") or leave those properties blank to use the default solution configuration. [Z:\WORK\SD
       L\game2D_sdl\game2D_sdl.sln]

Win32 Debug exists !!

我想念什么?

致谢

1 个答案:

答案 0 :(得分:2)

  

在使用命令生成.sln(solution)文件时,请使用   解决方案配置而不是项目配置。

我创建一个简单的C ++控制台项目。在“ CPlusForConfig”解决方案中,我有一个项目“ CPlusForConfig”。看看下面的图片(我的配置管理器): enter image description here

根据图片,解决方案配置:Debug / X86对应于项目配置:Debug / win32。

对于您的问题,如果要使用项目配置来构建项目:Debug/win32

通过以下命令构建解决方案时,请使用解决方案配置:msbuild CPlusForConfig.sln /p:Configuration=Debug /p:Platform=X86

或者在通过以下命令构建项目时使用项目配置:msbuild CPlusForConfig.vcxproj /p:Configuration=Debug /p:Platform=win32 这两个命令都对您有用。

此外:您可以通过在解决方案资源管理器中右键单击解决方案来打开配置管理器,然后选择配置管理器。 如果有帮助,请给我反馈。