VScode 头文件配置
0.
之前用的code blocks,确实还行,但是链接动态库是真的蛋疼加拉跨。再加上去他们论坛,里面的一个个说话好凶,就退了。
加上最近给机器加了根内存条,所以就转用VScode写小代码。
基本信息:
- VScode
- MinGW
- cpp开发
- cpp相关plugs:C/C++、C/C++ Extension Pack、C++ Intellisense
1.配GLFW环境,头文件出错
想学CG相关的,于是配一下GLFW,但是头文件报错。查了一圈都没啥用,但是这个脚本是从刷leetcode脚本配置加了头文件过来的,刷题环境没问题的。于是仔细看了一下脚本
2.脚本
环境下是4个脚本
- c_cpp_properties.json下称1
- launch.json
- setting.json
- tasks.json下称4
其中主要和1、4脚本相关.
1脚本是C/C++插件的脚本,配置C/C++编译环境
4是VSCode的任务脚本,执行编译工作
由于我用的是MinGW,所以在2脚本中,基本上就类似于linux的编译命令。
仔细看了一下,并修改对比之后,发现了问题。
即,只要4脚本配置正确,1脚本可以直接默认就行不用管。
3.如何配置
配置的问题就是linux的
- -I (大写的i,ijk的i)
命令
脚本中,命令都写在"args"下面,所以添加上去就行。
如下:
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-I",
"../../../include/**"
"../../../include/"
//此处省略绝对路径的前面部分
],
我写了两种。
一个是inc目录后接**
一个是不接
就是这里导致了GLFW头文件报错
- inc后有**的:是include文件和文件夹(不太清楚是不是这样,简单测试好像是这个逻辑)
- inc后没有的:是只匹配当前目录下的文件
具体可能需要查阅VSCode的说明文档,但是懒得去看了。
如果你的VSCode项目头文件包含报错,就很有可能是因为层级关系原因。