MSVC的单独安装和使用

Visual Studio编译环境搭建

  1. 点击MSVC编译环境单独下载打开页面

  2. 拖到后面【适用于Visual Studio 20XX的工具】下的【Visual Studio 20XX 生成工具】点击下载

  3. 如下安装不含臃肿Visual Studio IDE的命令行编译环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 可用命令行来自动选择所需组件:
vs_BuildTools.exe --path install="C:\Soft\VisualStudio\BuildTools" --config "C:\Soft\.vsconfig"

# 也可手动打开vs_BuildTools.exe下载,主要是要包含相关组件,.vsconfig内容如下:
{
"version": "1.0",
"components": [
"Microsoft.VisualStudio.Component.Roslyn.Compiler",
"Microsoft.Component.MSBuild",
"Microsoft.VisualStudio.Component.CoreBuildTools",
"Microsoft.VisualStudio.Workload.MSBuildTools",
"Microsoft.VisualStudio.Component.Windows10SDK",
"Microsoft.VisualStudio.Component.VC.CoreBuildTools",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"Microsoft.VisualStudio.Component.VC.Redist.14.Latest",
"Microsoft.VisualStudio.Component.TextTemplating",
"Microsoft.VisualStudio.Component.VC.CoreIde",
"Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core",
"Microsoft.VisualStudio.Component.Windows11SDK.22621",
"Microsoft.VisualStudio.Workload.VCTools"
]
}

# 默认安装路径:
Visual Studio IDE: C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools
下载缓存: C:\ProgramData\Microsoft\VisualStudio\Packages
共享组件工具: C:\Program Files (x86)\Microsoft Visual Studio\Shared
SDK目录: C:\Program Files (x86)\Windows Kits ,C:\Program Files (x86)\Microsoft SDKs

# 我的安装路径:
C:\Soft\VisualStudio\BuildTools , C:\Soft\VisualStudio\Packages
C:\Soft\VisualStudio\Shared , C:\Soft\VisualStudio\Windows Kits
  1. Windows SDK版本可到这里查看

  2. BuildTools中的一些配置环境变量的脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
原生开发:用于原编译平台是64位,目标平台也是64位
%comspec% /k "C:\Soft\VisualStudio\BuildTools\VC\Auxiliary\Build\vcvars32.bat"
%comspec% /k "C:\Soft\VisualStudio\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
%comspec% /k "C:\Soft\VisualStudio\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x64

交叉编译:使用x86主机tools为x64编译,使用x64主机tools为x86编译
%comspec% /k "C:\Soft\VisualStudio\BuildTools\VC\Auxiliary\Build\vcvarsx86_amd64.bat"
%comspec% /k "C:\Soft\VisualStudio\BuildTools\VC\Auxiliary\Build\vcvarsamd64_x86.bat"

vcvars32.bat 使用32位原生开发工具构建32位程序
vcvars64.bat 使用64位原生开发工具构建64位程序
vcvarsall.bat 使用参数来指定主机和目标架构、SDK 和发布平台选择(默认同vcvars32.bat)

vcvarsx86_amd64.bat 使用32位交叉工具构建64位程序
vcvarsamd64_x86.bat 使用64位交叉工具构建32位程序
  1. Visual Studio修改安装目录的几种方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 软链接来更改安装目录
mklink /D "C:\Program Files (x86)\Windows Kits" "C:\Soft\VisualStudio\Windows Kits"
mklink /d "C:\Program Files (x86)\Microsoft SDKs" "C:\Soft\VisualStudio\Microsoft SDKs"
mklink /d "C:\Program Files (x86)\Microsoft Visual Studio" "C:\Soft\VisualStudio"


# 修改注册表来更改安装目录,需要先执行安装程序走流程等待程序写入注册表,但是不安装
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup
选择名称:CachePath 为VisualStudio所需Cache的安装路径
选择名称:SharedInstallationPath 为VisualStudio所需Shared的安装路径

Windows SDK的注册表默认安装路径修改
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Kits\Installed Roots 下的KitsRoot10
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows Kits\Installed Roots 下的KitsRoot10

在命令行中使用编译器

  1. 把下面加入到bat脚本来自动生成环境
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@echo off
echo 载入预设的编译环境信息

:: 使用 X64编译器
SET MSVC_ARCH=x64

:: 使用的 SDK版本,SDK版本号去默认目录 C:\Program Files (x86)\Windows Kits\10\Include 下查看
SET SDK_VERSION=10.0.22621.0

:: 当前编译器版本,MSVC版本号默认在 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\ 下查看
SET MSVC_VERSION=14.33.31629

:: 默认安装路径 C:\Program Files\Microsoft Visual Studio\2022\[Community][Professional][Enterprise][BuildTools]
SET MVS_PATH=C:\Soft\VisualStudio\BuildTools

:: 默认安装路径 C:\Program Files (x86)\Windows Kits\
SET SDK_PATH=C:\Soft\VisualStudio\WindowsSDK


echo 添加MSVC运行环境到系统
SET PATH=%PATH%;%MVS_PATH%\VC\Tools\MSVC\%MSVC_VERSION%\bin\Host%MSVC_ARCH%\%MSVC_ARCH%

echo 设置要搜索的头文件目录
SET INCLUDE=%INCLUDE%;%MVS_PATH%\VC\Tools\MSVC\%MSVC_VERSION%\include;%SDK_PATH%\Include\%SDK_VERSION%\um
SET INCLUDE=%INCLUDE%;%SDK_PATH%\Include\%SDK_VERSION%\ucrt;%SDK_PATH%\Include\%SDK_VERSION%\shared
SET INCLUDE=%INCLUDE%;%SDK_PATH%\Include\%SDK_VERSION%\winrt;%SDK_PATH%\Include\%SDK_VERSION%\cppwinrt

echo 设置要搜索的库文件目录
SET LIB=%LIB%;%MVS_PATH%\VC\Tools\MSVC\%MSVC_VERSION%\lib\%MSVC_ARCH%
SET LIB=%LIB%;%SDK_PATH%\Lib\%SDK_VERSION%\um\%MSVC_ARCH%;%SDK_PATH%\Lib\%SDK_VERSION%\ucrt\%MSVC_ARCH%
  1. 使用 cl.exe 编译程序
1
2
3
4
5
#include <stdio.h>
int main(void){printf("Hello,World\n");}

cl.exe /help // 输出帮助页面
cl.exe /EHsc hello.c // 编译hello.c