提问人:Mr72 提问时间:12/3/2017 更新时间:8/15/2023 访问量:28602
Visual Studio Code-无法打开源文件“iostream”
Visual Studio Code-Cannot open source file "iostream"
问:
我只想尝试使用 Visual Studio Code 进行 c++ 编码。我已经将 vscode 1.18.1 安装到我的笔记本电脑 (Win10-64) 上。
我通过键入以下代码出现错误:
#include <iostream>
using namespace std;
int main()
{
std::cout << "Hello world!" <<endl;
return 0;
}
应该不会发生错误。C:\Users\Harri\OneDrive\Tiedostot\Demo2.vscode\c_cpp_properties.json -content:
“路径”:[ “/usr/include”, “/usr/本地/包括”, “${workspaceRoot}” ],
第 1 行的问题/错误:
“#include 检测到错误。请更新您的 includePath。此转换单元 (C:\Users\Harri\OneDrive\Tiedostot\Demo2\Calc.cpp) 的 IntelliSense 功能将由标记分析器提供。"
“无法打开源文件”iostream“ ”
答:
主要问题是 cygwin 路径
你有 cygwin 路径,就像你的文件一样。这是一个问题,因为 VSCode 不理解 cygwin 路径。在 cygwin shell 中,您可以运行:/usr/include
c_cpp_properties.json
$ cygpath -w /usr/include
D:\cygwin64\usr\include
获取等效的 Windows 路径。把它放进去。请记住,当您将其复制到 JSON 字符串中时,必须将反斜杠加倍。c_cpp_properties.json
其他建议
这个 SO 答案描述了如何使用 cygwin gcc 设置 VSCode。我没有尝试过这些说明,但它们看起来很合理。
除此之外,我强烈建议阅读 VSCode 网站上的 C++ 入门教程。它可能会直接回答您的问题,但即使没有,有一个工作设置进行比较也很有价值。
此外,请查看 C/C++ 诊断:查看→命令面板...→ C/C++:日志诊断。这将显示 VSCode 试图模拟哪个编译器以及它认为 #include 路径是什么。
最后,为了直接从编译器中获取大量有用的信息,以便与 VSCode 的想法进行比较,如果您使用的是 gcc,请在 cygwin 或 bash 提示符下运行:
$ touch empty.c
$ gcc -v -E -dD empty.c > compiler-info.txt
这将写入所有预定义的宏、#include 搜索路径、默认目标等。compiler-info.txt
我遇到了同样的问题,但通过在 C/C++ 配置中设置“编译器路径”可以轻松解决。然后,VS Code 直接找到该库并编译了该项目。
评论
iostream
dir
dir