最近配置了Mac和Linux下的VSCode来进行C++开发
可参考:https://zhuanlan.zhihu.com/p/48233069
但是有一些环境配置有出入,所以再记录一下。
整个的VSCode项目有三个项目文件要进行配置。
- c_cpp_properties.json: 用来配置环境变量和编译器
- tasks.json: 用来设定编译的操作,如设置命令行操作 clang -g file.c -o file
- launch.json: 用来设定debug运行时的设置
要进行更改的主要是环境变量,要找到PC中库文件和头文件的装载地址。
相同的步骤
- 下载VS Code编译器
- 在Extensions中下载C/C++插件
Mac下
Mac下的C/C++编译器由XCode托管,包括相关的C库。所以配置C库和头文件首先要下载XCode
- 在App Store中下载XCode
- 安装成功后安装command line tool。运行命令
xcode-select --install
- 安装成功后查看clang地址 (与参考链接中不同的地方):
运行命令gcc --version
这里看到有一个 –with-gxx-include-dir. 这个包含了必要的C库和一些其他的链接库。所以最终的c_cpp_properties.json如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24{
"configurations": [
{
"name": "Mac",
"includePath": [
"${workspaceFolder}/**",
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/",
"/Library/Developer/CommandLineTools/usr/include/c++/v1",
"/Library/Developer/CommandLineTools/usr/lib/clang/11.0.0/include",
"/Library/Developer/CommandLineTools/usr/include"
],
"defines": [],
"macFrameworkPath": [
"/System/Library/Frameworks",
"/Library/Frameworks"
],
"compilerPath": "/usr/bin/clang",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
Linux下
环境变量都在/usr/local/include
里,所以直接包含这一个就可以了
tasks
每一个tasks其实就执行了一个gcc编译命令,注意c程序用gcc/clang编译,而c++程序要用g++/clang++编译。每一行编译命令就对应了下边的一个结构。
1 | { |
或者如果你要执行一个Makefile命令,那么就在当前目录下创建Makefile,然后command使用make。如下:
1 | { |
参考编写Makefile:(注意,经常生成makefile是在${workspaceFolder}/.vscode/下生成的,而不是在代码路径下。在生成makefile的时候要注意路径)
1 | target=hello |
launch
典型的launch文件来配置调试参数。
1 | { |