【教程】【C/C++】使用VSCode+MSVC搭建C/C++开发环境
vscode吧
全部回复
仅看楼主
level 12
MISTIS 楼主
先占坑,防止度娘吞贴。由于MinGW在Windows的环境下维护成本极高(其实就是没有包管理器,这点甚至Linux比Windows更适合开发C++,真是讽刺),索性用相性较好的MSVC进行C/C++的编译调试运行。相对于Linux平台,Windows MSVC的环境配置实在是复杂,尤其是遇上VSCode这种编辑器的情况下,MSVC脑溢血的库和包含文件分离,使得依靠Windows运行时的VC++想要进行完美的C/C++开发环境更是需要费时间去折腾环境变量。
传统一楼给
镇楼

2022年10月21日 13点10分 1
level 12
MISTIS 楼主
事前准备
需要安装C/C++的VSC扩展。安装MSVC编译器
【MSVC编译器下载】https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16
直接运行,等待在线安装完后,底部有更改安装路径的选项,可以更改到自己想要安装的路径。选择C++生成工具以及通用Windows平台生成工具,即可开始安装MSVC编译环境,大小大约1.2G。注意,安装目录必须为英文目录,否则json无法解析。
安装包应该长这样
直接弹出了需要的编译器组件,说实话有点像Visual Studio,选择如图的内容就行,注意Windows SDK可能已经更新了,请选择最新版本。
2022年10月21日 14点10分 2
level 12
MISTIS 楼主
配置环境变量
这一步太糟心了,MSVC的环境变量不只有二进制可执行文件一项,而是分为了三个部分:VC++运行库(简称LIB),AFX包含文件(简称INCLUDE)以及二进制编译器可执行文件(简称BIN)。
BIN环境变量
找到MSVC的bin路径,一般为主目录下VC\Tools\MSVC\#(这里应该是版本号),如图所示,VC便是编译器所在的根目录。将bin路径复制,右键计算机,属性,高级系统设置,环境变量,在下方的系统变量中选中Path编辑,新建,将bin的路径粘贴然后保存。现在开始检验是否已经完成设定,按下Windows+R键,输入powershell回车即可打开PowerShell窗口;输入cl或cl.exe,即可查看是否配置成功。
在bin目录下一般还有Hostx64/x64文件夹,一直到底整个目录全给复制了。
2022年10月21日 14点10分 3
level 12
MISTIS 楼主
INCLUDE环境变量
将同样与bin同目录下的include文件夹路径复制后在系统变量中如图所示添加INCLUDE变量后将路径粘贴进去。现在添加Win32链接,找到C盘(或许不在C盘,但是得找这个Windows开发工具箱,这玩意应该是系统工具,和MSVC没关系,Windows自带的,类似于捆绑销售的东西),Windows Kits即Windows10自带的开发链接库,找到Include文件夹,打开与Windows对应版本的文件夹,将winrt、um、ucrt以及shared文件夹路径一次加入到INCLUDE变量中。具体内容如截图所示。
LIB环境变量
与链接变量相同,将同样位于Windows Kits下的Lib文件夹内响应文件夹um、ucrt路径复制,粘贴到LIB变量下。具体内容如截图所示。
系统变量新建的LIB与INCLUDE值
INCLUDE环境变量需要的路径
LIB环境变量需要的路径
这些路径都不能少,因为MSVC是依托于Windows OS的运行时的,CRT很重要。至此,环境变量完成配置了。
2022年10月21日 14点10分 4
level 12
MISTIS 楼主
工程配置
在常用的工程文件根目录下新建一个文件,可以任意取名字,这个文件夹就是新工程了,右键,使用code打开。
新建一个测试文件,接下来需要创建tasks和json文件用以编译调试与运行(有点像makefile),这里在测试文件写一个hello world的demo,然后按下f5
按照图中显示进行操作,然后即可打断点进行debugging和run了
2022年10月21日 15点10分 5
level 12
MISTIS 楼主
设定C++的标准与优化
在生成tasks.json中,可以使用-std, -O等选项,调整编译C++的标准和编译优化,如图所示。
2022年10月21日 15点10分 6
level 12
MISTIS 楼主
2022年10月21日 15点10分 7
level 2
可以在终端输入code....
2022年10月23日 11点10分 8
如果带有code初始化命令的话,可以用code打开工程文件夹。
2022年10月25日 13点10分
@MISTIS 我的意思是,可以在Visual Studio终端中打开vscode,这样就不用配置path了
2022年10月26日 00点10分
@梨不是梨 这种情况下vs的进程会驻留吗?
2022年10月26日 09点10分
@MISTIS Visual Studio终端本质为改了path的cmd 而且vscode官网也推荐这种做法 Visual Studio终端在开始菜单里
2022年10月28日 14点10分
level 3
建议了解一下msys2,有pacman包管理
2022年11月02日 02点11分 10
level 12
VSCode+CMake+MSVC也不错,CMake工程会自动扫描编译工具链,Scan Kit → Select a Kit → Configure → Build 就行。
2022年11月02日 07点11分 11
makefile是个不错的选择
2022年11月03日 01点11分
@MISTIS 也是,不过Makefile的结构不是很会写…… 在WSL2上使用gcc时,CMake在Configure之后会生成一个Makefile的项目;在Windows上使用MSVC时,CMake则生成一个Visual Studio C/C++(vcxproj)项目
2022年11月03日 01点11分
请问,按照楼主配置好msvc后,在vscode中用cmake扫描编译工具链,找不到msvc编译器,,这种情况怎么解决?在命令行cl是可以运行的,bin目录也在环境变量里了
2022年12月28日 00点12分
@w小小d梦想 MSVC不只是配置一个bin目录,它提供的那个开发者命令行启动器配置了3个环境变量。可能还有环境变量缺失,你试试从开发者命令行启动VSCode,再去Scan Kits一下,没准能扫出来。
2022年12月28日 02点12分
1