【发布时间】:2018-04-01 20:13:56
【问题描述】:
我的代码是
#include <iostream>
using namespace std;
int main(){
cout << "Hello";
return 0;
}
当我使用
g++ hello.cpp
没有给出警告、错误或任何类型的输出。那我试试
./a.out
这不起作用,我检查目录没有找到新文件。我不确定错误是什么,因为代码太短了。我知道 g++ 正在运行,但我不知道为什么没有创建 a.out 文件。
这是在带有 MinGW 的 Windows 中,这是文件夹中唯一的文件。
使用 a.exe 也不起作用。
【问题讨论】:
-
你说在 Windows 上?使用 MinGW 还是 Cygwin?你试过
./a.exe吗?在 Windows 上,所有可执行程序都必须以.exe结尾。在许多其他系统(例如 C、C++ 和a.out文件源自的基于 Unix 的系统)中,这不是必需的,但它在 Windows 上是必需的。 -
@TobiSH 在我看来完全不同。
-
在 Windows 上,使用 Cygwin,我得到
a.exe,而不是a.out。您的目录中有哪些文件? -
不再有任何充分的理由使用 MinGW 或 Cygwin,并且有很多充分的理由不使用。 WSL 的存在是有原因的。使用它。
-
@torazaburo:TBH MinGW 提供了一个很好的原生 Windows 编译器,它的代码生成通常比 MSVC 好得多。