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

发布于 2022-09-12 03:43:37 字数 1173 浏览 13 评论 0

文件目录结构

只为了测试将 .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.

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

日久见人心 2022-09-19 03:43:37
gcc stack.c -o stack

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

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

gcc stack.c -o stack -I ./include
清晨说晚安 2022-09-19 03:43:37

你应该给gcc传递包含路径,为.vscode/tasks.json添加以下参数:

{
    "tasks": [
        {
            "args": [
                //...
                "-I${fileDirname}/include",
            ],
            //...
         }
}

或者,把tasks里的command项改成"make",其他无关项删除,然后自己写makefile来生成。

梦毁影碎の 2022-09-19 03:43:37

include “../include/stack.h”

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文