VSCode运行c ++代码时没有这样的文件或目录[关闭]

Posted

技术标签:

【中文标题】VSCode运行c ++代码时没有这样的文件或目录[关闭]【英文标题】:VSCode No such file or directory when running c++ code [closed] 【发布时间】:2019-05-27 04:17:51 【问题描述】:

当我尝试运行 时收到此错误:

main.cpp:1:18:致命错误:temp.h:没有这样的文件或目录 #包括“temp.h” 编译终止。

但是,Intellisense 检测到此标头存在。 Ctrl + 左键单击 main.cpp 中的#include "temp.h" 成功将我带到该文件,并且代码行下面没有波浪线。

我有两个单独的 .cpp 文件和头文件文件夹,并在 c_cpp_properties.json 中配置了 includePath:

我的工作区文件夹是临时文件夹,“$workspaceFolder/**”行应该递归检查子文件夹的标题。我添加了头文件的绝对路径,但没有成功。

【问题讨论】:

不要为代码发布图片。显然你的包含路径有问题。 有没有temp.h和源文件main.cpp在同一目录下? 感谢大家的回复。 @Someprogrammerdude 他们不在同一个目录中。出于组织的考虑,我希望将它们保存在单独的文件夹中,因为 VSCode 不会像 Visual Studio 那样自动将它们分成单独的类别。 @MatthieuBrucher 我同意问题出在我的包含路径上。我希望可以更改或修改有关 c_cpp_properties 的某些内容以适应具有单独的源和标题文件夹。也很抱歉在图片中发布代码,对此仍然很陌生。 【参考方案1】:

这个问题是 tasks.jsonc_cpp_properties.json 文件之间混淆的结果。我将 c_cpp_properties.json 视为用于编译。

c_cpp_properties.json 与 Intellisense 一起使用,绝不涉及编译。

tasks.json 用于编译。如果您像我一样不熟悉 tasks.json,您还需要在此处指定包含路径。

在您的 tasks.json 的 args 部分中,使用“-I”添加一个包含路径,然后是您希望包含的路径。

对于我的问题,该命令如下所示:

“-I”、“C:\Users\Dill\Desktop\temp\header”

【讨论】:

注意:这不适用于** glob 递归匹配。您也可以使用-IC:\Your\Path-I 标志,路径后面没有空格)。你可以像-I$workspaceFolder一样使用variable references。

以上是关于VSCode运行c ++代码时没有这样的文件或目录[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

/bin/bash:从 Matlab 运行 shell 脚本时没有这样的文件或目录

inotify_add_watch 失败,没有这样的文件或目录

如何避免此错误运行maven时没有这样的文件或目录

运行 Solidity 合约导致“ENOENT:没有这样的文件或目录”错误

FileNotFoundError:没有这样的文件或目录(对于Dogs和Cats代码)

没有这样的文件或目录:'gs' linux