Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
554 views
in Technique[技术] by (71.8m points)

vscode 中 C 语言配置问题,includePath 没起作用。

文件目录结构

只为了测试将 .h 单独放在一个文件夹中。

image.png

stack.c

// ...
#include "stack.h"
//...

c_cpp_properties.json

${workspaceFolder}/include/** 试图将工作目录下的 include 文件夹包含进去,但未生效。

{
    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "${workspaceFolder}/**",
                "${workspaceFolder}/include/**"
            ],
            "defines": [],
            "macFrameworkPath": [
                "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks"
            ],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}

运行报错

mypc$ gcc stack.c -o stack
stack.c:5:10: fatal error: 'stack.h' file not found
#include "stack.h"
         ^~~~~~~~~
1 error generated.

请有经验的同学多多指教,谢谢!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
gcc stack.c -o stack

这和 vsc 没关系,那个路径是给 vsc 插件使用的,目的是找到“正确”的 .h 文件,做语法解析

然而你是的错误是 gcc 编译错误,该使用 gcc 的 -I 参数指定头文件搜索路径

gcc stack.c -o stack -I ./include

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...