【VSCode】【msys2】VS Code + msys2配置Windows下C/C++开发环境
一、Msys2配置
1. 下载msys2, 网址:https://www.msys2.org/
2. 安装msys2-x86_64-xxxx.exe
这里没什难度,记住安装路径就好,一路next就装好了。
3. 安装gcc
3.1. 更新msys2
> pacman -Sy
3.2. 安装gcc
> pacman -Su gcc
出现"Proceed with installation? [Y/n]" 输入y回车就行。
同样的方法可以安装cmake,不赘述。
3.3. 测试
> gcc -v
输出gcc版本信息就时安装成功
二、下载安装VSCode
1. 下载安装VSCode,网址:https://code.visualstudio.com/
安装VSCode,勾选 ”将通过vscode打开操作添加到windows资源管理器目录上下文菜单“
2. 打开VSCode,安装c++插件,选第一个就行,其他的按需安装。
三、配置开发环境
1. 创建一个开发目录,如cpptest, 右键用vscode打开。
2. 新建一个code文件,hello.c
3. 输入代码
#include<stdio.h>
int main()
{
printf("hello world\n");
return 0;
}
4. 在VSCode控制台中编译运行
4.1 输入gcc hello.c
> gcc hello.c
4.2 输入a.exe看到输出结果 hello world
> a.exe
> hello world
5. 这时候鼠标右键打开stdio.h文件时,会发现这个文件竟然时Visual Studio下的,不是gcc下的。
原因是VSCode做代码分析的时候不知道gcc,选择了MSVC,添加配置文件把编译器改为gcc.
细节参考vscode官网:Get Started with C++ and Mingw-w64 in Visual Studio Code.
在.vscode目录下新建一个json文件:c_cpp_properties.json,注意includePath和compilerPath要指定到msys2安装目录下。
// .vscode/c_cpp_properties.json
{
"configurations": [
{
"name": "GCC",
"includePath": [
"C:/ProgramFiles/msys64/usr/include",
"${workspaceFolder}/**"
],
"defines": ["_DEBUG", "UNICODE", "_UNICODE"],
"compilerPath": "C:/ProgramFiles/msys64/usr/bin/gcc.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4
}
这时候鼠标右键打开stdio.h文件时,就是是gcc下的。
Last But Not Least
还有个问题,就是VSCode显示#include <stdio.h>这一行有错,鼠标移上去显式找不到依赖文件stddef.h
用everything找一下发现stddef.h在另一个目录下
把这个目录也添加到c_cpp_properties.json的includePath中,问题解决。
C++还需要添加
"C:/ProgramFiles/msys64/usr/lib/gcc/x86_64-pc-msys/11.2.0/include/c++",
"C:/ProgramFiles/msys64/usr/lib/gcc/x86_64-pc-msys/11.2.0/include/c++/x86_64-pc-msys",
愉快的coding!