gpt4 book ai didi

c++ - VSCode 无法识别来自 includepath 的包含

转载 作者:行者123 更新时间:2023-11-28 04:12:12 24 4
gpt4 key购买 nike

我遇到了一个问题,VSCode 会识别我包含的 zipper.h,然后不知何故转向我并告诉我没有这样的文件或目录。我不确定这是否是我的代码或包含或 vs 代码的问题。

https://i.gyazo.com/2d35a31abf83546d8633d991bcb4752a.png https://i.gyazo.com/96ad7825e8d1c390035a4db2f789bbcf.png

我已经尝试将它同时添加到我的包含路径和 Windows 环境路径中。出于同样的原因,它一直失败。我对自己做错了什么感到很困惑。它不承认这些链接吗?编译时我应该通过 g++ 链接库吗?

#include <zipper.h>

void zipFolder()
{
zipper::Zipper zipFile("logs.zip");
zipFile.add("C:\\Cycling");
zipFile.close();
}

int main(int argc, char const *argv[])
{
return 0;
}
c:\Users\Desk\Desktop\Code\Cycling>cd "c:\Users\Desk\Desktop\Code\Cycling\" && g++ test.cpp -o test && "c:\Users\Desk\Desktop\Code\Cycling\"test
test.cpp:1:10: fatal error: zipper.h: No such file or directory
#include <zipper.h>
^~~~~~~~~~
compilation terminated.

最佳答案

c_cpp_properties.jsonsettings.json 中的

"includePath" 属性仅与内部编辑器的 IntelliSense 功能有关,与此无关与编译。为了告诉编译器必要的包含路径,你需要在你的构建任务中指定一个对应的编译器选项(在tasks.json),即"-Ipath/to/my/include/文件”

这是我的 tasks.json 文件中的构建任务示例(查看 "args" 属性 - 它包含编译器选项 "-I${workspaceFolder }/../..",即从当前目录向上两层):

{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++-9 build active file ver(1)",
"command": "/usr/bin/g++-9",
"args": [
"-std=c++17",
"-I${workspaceFolder}/../..",
"-g",
"${workspaceFolder}/*.cpp",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "compiler: /usr/bin/g++-9"
}
]
}

关于c++ - VSCode 无法识别来自 includepath 的包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57458423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com