一、C/C++环境准备
1.安装MinGW + cmake
1)官方MinGW下载地址:http://www.mingw-w64.org/doku.php/start
- 打开官方地址,找到“MinGW-W64 GCC-8.1.0”中的“x86_64-win32-seh”点击进行下载;
- 下载之后的文件名是:“x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z”;
- 解压下载的内容,放到一个自己喜欢的目录,如果嫌弃文件名太长,可以改成自己喜欢的名字,比如我自己的是:E:\c_study_self\CLion\C\MinGW。
- 配置环境变量,path中配置mingw64的bin目录;
- 配置好之后检测是否安装成功,在cmd中分别执行gcc -v,g++ -v,gdb -v,如果配置成功则会打印对应的版本号。(配置失败的,请自行百度,这里不再细说)。
gcc -v
g++ -v
gdb -v
2)官方cmake下载地址:https://cmake.org/
- 官方有安装器和压缩包两种类型,我选择的是压缩包:cmake-3.20.5-windows-x86_64.zip;
- 解压(解压到自己喜欢的目录即可);
- 配置环境变量,path中配置cmake的bin目录;
- 配置好之后检测是否安装成功,在cmd中执行cmake -version,如果配置成功则会打印对应的版本号。
cmake -version
2. 下载安装VSCode
- 官网:https://vscode.en.softonic.com/
- 我自己下载的是:VSCode-win32-x64-1.59.1.zip;
- 下载好之后,解压到自己喜欢的地方即可。
3. 配置VSCode
1)打开VSCode,安装扩展插件;
- 选择左边的扩展,搜索C/C++(这里由于我已经是安装好了的,所以没有安装小按钮)
- 如果需要汉化的朋友,可以安装一下汉化插件
Chinese (Simplified) Language Pack for Visual Studio Code
2)配置C环境
- 新建一个文件夹(作为工作目录使用,我这里以vstest为例);
- 在VSCode中倒找,文件 -> 打开文件夹;
- 在vstest文件夹下,新建一个test.c文件,并在test.c里面简单写几行代码;
#include <stdio.h>
int main() {
printf("Hello World");
return 0;
}
- ctrl + s 保存代码;
- 使用ctrl + F5,编译运行代码,这时会提示信息
- 选择C++ (GDB/LLDB),然后又转到另一个菜单
- 选择 gcc.exe - 生成和调试活动文件,点击完成之后,会生成launch.json和tasks.json两个文件,同时控制台会打印出"Hello World"
launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "gcc.exe - 生成和调试活动文件",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "E:\\c_study_self\\CLion\\C\\MinGW\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: gcc.exe 生成活动文件"
}
]
}
tasks.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe 生成活动文件",
"command": "E:\\c_study_self\\CLion\\C\\MinGW\\mingw64\\bin\\gcc.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
Hello World
- 到此VSCode配置完成
4. 找不到自定义头文件问题
1)根据以上步骤,虽然可以正常输出单文件内容,但是如果我们需要引入自己写的头文件,那么VSCode是找不到我们写的内容的,
目录结构:
test.c
#include <stdio.h>
#include "head.h"
int main() {
int n = 2;
int result = a1(n);
printf("%d\n", result);
//printf("Hello World");
return 0;
}
head.h
int a1(int);
a1.c
int a1(int n) {
return n + 3;
}
2)使用ctrl + F5执行主程序,会报错:
3)该错误,是由于,VSCode不能找到我们引入的自己的其他文件,故此,我们需要在tasks.json的args中添加我们外部文件(xxx.c)文件,告诉VSCode需要编译它们
修改后的tasks.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe 生成活动文件",
"command": "E:\\c_study_self\\CLion\\C\\MinGW\\mingw64\\bin\\gcc.exe",
"args": [
"-g",
"${file}",
"${fileDirname}\\a1.c",//这里的a1、a2、a3都是自定义文件的名字,${fileDirname}\\xxx.c可以写多条
//"${fileDirname}\\a2.c",//要注意,这里配置的a2、a3,这些文件,在文件夹中必须存在,否则报错
//"${fileDirname}\\a3.c",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
4)修改完tasks.json文件之后,在执行ctrl + F5,可以见到结果
到此,在window10 64位系统环境下,配置VSCode编译器的C/C++环境搭建完成