VS開發C++專案經常會依賴一些SDK、庫和環境變數,需要設定包含的附加庫目錄路徑,直接在VS的專案屬性、配置上進行修改會導致專案的可移植性差。
因此透過建立batch檔案,並將一些依賴的環境變數設定在裡面,然後在該batch檔案中直接啟動新的程序,來開啟VS專案會更加便捷。
以下示例中,VS 專案會使用到兩個環境變數MyQT
和 MATLAB
,透過如下方式在 .bat
檔案中來設定對應的環境變數,然後啟動名稱為 Project1.sln
的解決方案:
@echo off
REM 設定VS路徑
set VS_IDE=C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE
REM 設定VS中將要使用的環境變數
set MyQT=C:\Qt\Qt5.14.2\5.14.2\msvc2017_64
set MATLAB=D:\Programs\Matlab2022b
REM 開啟VS工程
start "" "%VS_IDE%\devenv.exe" "%~dp0\Project1.sln"
REM 退出cmd視窗
exit
效果如下圖:
透過bat指令碼的方式來設定環境變數,並啟動對應的sln專案,有如下優點:
- 專案的移植性好,後續其它地方使用只要修改指令碼即可。
- 維護修改方便,在VS的配置中使用該環境變數,後續修改指令碼會同步更新所有用到該環境變數的地方。
【Note:以上batch檔案在啟動VS後退出cmd視窗的方式,也可以用如下的方法】
主要區別在於退出 cmd 視窗以及啟動 VS 專案的方式
@echo off
REM 隱藏cmd視窗
if "%1"=="hide" goto CmdBegin
start mshta vbscript:createobject("wscript.shell").run("""%~0"" hide",0)(window.close)&&exit
:CmdBegin
REM 設定VS路徑
set VS_IDE=C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE
REM 設定VS中將要使用的環境變數
set MyQT=C:\Qt\Qt5.14.2\5.14.2\msvc2017_64
set MATLAB=D:\Programs\Matlab2022b
REM 開啟VS工程
"%VS_IDE%\devenv.exe" "%~dp0\Project1.sln"