devenv 解决方案文件.sln /build [ 解决方案配置 ] [ /project 项目名称或文件 [ /projectconfig 名称 ] ]
/Build 使用指定的解决方案配置生成解决方案或
项目。例如“Debug”。如果可能存在多个平台,
则配置名称必须用引号括起来
并且包含平台名称。例如“Debug|Win32”。
在进行[ 解决方案配置 ] 配置的时候使用了 "Debug|Win32", devenv的使用说明里面也是这么说明的 。
但是实际上就是Win32这配置导致的参数错误。
原因是在Microsoft Visual Studio 配置参数对于Win32 在IDE里面就是x86,也就是说这里的配置在devenv传入参数的时候就应该改为"Debug|x86"。
@echo off
SET root_dir=%cd%
echo root_dir=%root_dir%
CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat"
if "%VCINSTALLDIR%"=="" set VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community
if "%VSINSTALLDIR%"=="" set VSINSTALLDIR=%VCINSTALLDIR%\Common7\IDE
set DevEnvDir=%VSINSTALLDIR%
set MSVCDir=%VCINSTALLDIR%\VC\Tools\MSVC\14.13.26128
set PATH=%PATH%;%COVERAGEBINDIR%;%DevEnvDir%;%WINPLATFORMDIR%\bin;%MSVCDir%\bin\Hostx86\x86;%VCINSTALLDIR%\Common7\Tools;%MSYSDIR%\bin;%PATH%;"%QTDIR_BIN%";"%QTDIR_SUB%";%QTDIR%/Tools/QtCreator/bin/;;
set INCLUDE=%WINPLATFORMDIR%\Include;%DXSDKDIR%\Include;%MSVCDir%\ATLMFC\INCLUDE;%MSVCDir%\INCLUDE;;%INCLUDE%
set LIB=%WINPLATFORMDIR%\Lib;%DXSDKDIR%\Lib;%MSVCDir%\ATLMFC\LIB\x86;%MSVCDir%\LIB\x86;%LIB%
echo vcvarsall finished
echo %VCINSTALLDIR%
echo %VSINSTALLDIR%
echo %DevEnvDir%
rmdir /S/Q "./win_out"
::devenv ../project.sln /rebuild "Release|Win32"
devenv ../project.sln /rebuild "Release|x86"