Lak*_* Fu 1 visual-studio-code vscode-settings
我正在尝试在 Ubuntu 上使用 vscode 开发 Linux 内核模块,但是 vscode 会抛出很多关于 Linux 系统头、内核宏等的错误(即使它只是一个几乎空的驱动程序......)
有人可以帮我配置 vscode 来消除这些错误吗?
下面是我的配置和错误截图。
//c_cpp_properties.json
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}",
"/usr/src/linux-headers-4.15.0-65/include"
],
"defines": [
],
"compilerPath": "/usr/bin/clang",
"cStandard": "c99",
"cppStandard": "c++14",
"browse": {
"path": [
"${workspaceFolder}",
"/usr/src/linux-headers-4.15.0-65/include"
],
"limitSymbolsToIncludedHeaders": true
},
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
Run Code Online (Sandbox Code Playgroud)
//settings.json
{
"files.associations": {
"init.h": "c",
"module.h": "c",
"workqueue.h": "c",
"list.h": "c",
"types.h": "c",
"posix_types.h": "c"
},
"C_Cpp.errorSquiggles": "Enabled",
"clang.cflags": [
"-std=c99",
"-I/usr/src/linux-headers-4.15.0-65/include",
"-DMODULE",
]
}
Run Code Online (Sandbox Code Playgroud)
小智 5
将以下内容添加到您的c_cpp_properties.json
:
"defines": [
"__GNUC__",
"__KERNEL__"
],
Run Code Online (Sandbox Code Playgroud)
一旦我还整理了我的包含路径,这对我来说就成功了。我的看起来如下:
"includePath": [
"${workspaceFolder}/**",
"/usr/include",
"/usr/local/include",
"/usr/src/linux-headers-4.15.0-88/include",
"/usr/src/linux-headers-4.15.0-88-generic/include",
"/usr/src/linux-headers-4.15.0-88/arch/x86/include",
"/usr/lib/gcc/x86_64-linux-gnu/7.4.0/include"
],
Run Code Online (Sandbox Code Playgroud)