我们安装了 msvc 工具箱之后其实没法在终端使用里面的各种指令。

在很多时候我们需要在工具箱的环境向才能进行一些操作。

很好的是微软有批处理文件能够让我们直接使用这种工具箱环境。

位置就在你的 Microsoft Visual Studio 具体版本下如 2022 中的 BuildTools\VC\Auxiliary\Build\ 文件夹下。

这里 vcvars64.bat 是 64 位使用的,32 自然就是 32 位使用的。

至于下面的 vcvarsall.bat 后面可以跟参数,所有都可以使用。

这就可以进入了。

当然我们不想每次都输入这个。可以在 ps 文件中添上:

function Initialize-MSVC {
    # 1. 查找 vcvars64.bat
    $vsPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath
    $vcvarsPath = "$vsPath\VC\Auxiliary\Build\vcvars64.bat"
    # 上面是如果安装了vs的情况下,如果没有安装使用下面的
    # $vcvarsPath = "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
    # 这里的地址写你自己电脑中的vcvars64.bat的位置,直接写死
 
    if (-not (Test-Path $vcvarsPath)) {
        Write-Host "Error: vcvars64.bat not found. Is Visual Studio installed?"
        return
    }
 
    # 2. 生成环境变量脚本并执行
    $envScript = cmd /c "`"$vcvarsPath`" & set"
    $envScript | ForEach-Object {
        if ($_ -match "^(.*?)=(.*)$") {
            $varName = $matches[1]
            $varValue = $matches[2]
            New-Item -Path "Env:\$varName" -Value $varValue -Force | Out-Null
        }
    }
 
    Write-Host "MSVC Environment initialized!"
}
 
Set-Alias -Name msvc -Value Initialize-MSVC

这样每次输入 msvc 就可以自动执行 bat 文件了。

这就进入环境了。注意 cmd 是不行的,必须得是 powershell。cmd 功能太少了,还是 powershell 好用。