c++ - C++ 编译错误已自行修复(试图找出原因)
问题描述
我使用 cmd 创建了一个新目录和文件(我认为这与它没有任何关系,但我列出了我的步骤)所以我可以开始学习 C++,然后我在 vscode 中打开文件并测试了这个基本功能:
#include <iostream>
using namespace std;
int main(){
cout << "test << endl;
return 0;
}
当我尝试运行代码时,我收到以下错误:
PS C:\Programming\C & C++\C & C++ Stuff\Learning C++> cd "c:\Programming\C & C++\C & C++ Stuff\Learning C++\" ; if ($?) { g++ C++ Tutorial.cpp -o C++ Tutorial } ; if ($?) { .\C++ Tutorial }
g++.exe: error: C++: No such file or directory
g++.exe: error: Tutorial.cpp: No such file or directory
g++.exe: error: Tutorial: No such file or directory
g++.exe: fatal error: no input files
compilation terminated.
收到错误后,我检查了 MinGW 以确保我安装了正确的 C++ 文件,我检查了我的环境变量路径以确保没有任何变化(尽管我不知道为什么会发生任何变化),然后我开始通过查找故障排除错误代码。
好吧,在搜索之间,我决定更改文件名,只是因为我不喜欢“C++ Tutorial.cpp”。我将文件名更改为“test.cpp”,尝试再次运行代码,但没有任何特殊原因,它成功了。终端结果的唯一区别是突出显示的文件名,如下所示:
我只是想知道是什么导致这个错误消失,也许是什么原因造成的;我在网上找不到类似的东西。谢谢!
解决方案
感谢这两个评论,我意识到发生了什么。错误是由于我的文件名中的空格引起的;因此,错误非常简单。路径中不存在作为单独参数的“C++”和“Tutorial”,并且将文件名更改为“test.cpp”有效,因为文件名被视为单个参数,我的目录中确实存在该文件名。
推荐阅读
- android - 这是什么意思:return@OnNavigationItemSelectedListener
- powershell - 如何在 powershell 中定义一个没有值的可选参数?(例如 get-object -verbose)
- java - 如何通过代码获取编译后的jar文件的路径?
- sql - 将 SSRS 2012 输出以 pdf 格式写入文件夹
- tomcat - 迁移设置:在 context.xml 从 Tomcat9 到 Wildfly 14.0.1Final
- mysql - 如何将来自不同站点的数据插入 MySQL 数据库?
- html - 所有设备的 css 或单个设备的 css
- tensorflow - CloudML:检查失败:大小 >= 0
- xslt - 仅当字符串值不为空时,如何使用 xslt2.0 连接字符串与“,”(逗号)分隔符
- html - 使用 flex - 垂直居中,除非内容高于容器