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.json 和 c_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 失败,没有这样的文件或目录
运行 Solidity 合约导致“ENOENT:没有这样的文件或目录”错误