解决vscode中出现struct sigaction incomplete error

今天在学sigaction的时候,vscode总是蹦出struct sigaction incomplete error,而且没有代码提示,很烦人,然后我在reddit中找到了个不是很优雅的解决方法。

问题

解决方法

在c_cpp_properties.json文件的includePath中加入/usr/include/x86_64-linux-gnu/bits/sigaction.h,然后在对应c文件中加入#include<sigaction.h>头文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/include/**",
"/usr/include/x86_64-linux-gnu/bits/sigaction.h"
],
"defines": [],
"compilerPath": "/usr/bin/clang-8",
"cStandard": "c11",
"cppStandard": "c++14",
"intelliSenseMode": "linux-clang-x64"
}
],
"version": 4
}

出现这样的问题貌似是因为sigaction没有定义在signal.h中,vscode没把它的头文件包含进来…
方法来源:https://www.reddit.com/r/vscode/comments/9qfhr4/visual_studio_code_intellisense_missing/e972g7h/

作者

xiaomaotou31

发布于

2021-10-18

更新于

2021-10-18

许可协议

评论