MinGW g ++在powershell

时间:2017-01-01 21:31:07

标签: c++ windows powershell gcc mingw

我见过这样一个类似的,两岁的问题,但没有找到答案......

在Windows 7 64bit下,我一直在尝试使用Power Shell通过MinGW gcc版本编译一个简单的“hello world”C ++源代码。环境变量已添加。从Power Shell我可以访问编译器,例如。 g++ --help运行良好,但编译时不会创建可执行文件或任何其他输出。

这是在main.cpp:

#include <iostream>
using namespace std;

int main(){
  cout << "Hello World" << endl;
  return 0;
}

试过这个:

g++ -o test.exe main.cpp

当我按Enter键时,编译似乎已完成,但没有任何响应,我的源代码仍然独自存在于他的文件夹中。

PS g++ no output

如果我在源文件中出错,编译器会识别它,并且错误消息正常。

我已从此处删除了链接(仅允许2个链接:()

如果我使用-Wall编译,警告信息也会出现故障。

所以在这一点似乎没问题。只是为了确保我在整个硬盘上搜索了我的test.exe,但它无处可寻......

无论如何,我正在使用代码块来编程C ++。因此,提到的MinGW gcc与Code Blocks一起安装。从代码块,它运行良好,没有任何问题。

然后我将MinGW独立于Code Blocks安装到C:\ MinGW,注意不要在目录名中使用任何空格。已安装MinGW v0.6.2-beta-20131004-1。一切都像前面提到的那样发生了。环境变量当然已更新,但仍未创建可执行文件或Power Shell中的任何响应,这些响应将指示进程失败。

尝试使用Power Shell和Power Shell(x86)。同样的事情发生了。

请帮我解决任何想法,让我知道我做错了什么。

UPLOAD: 正如Jean-FrançoisFabre所建议的那样,我使用选项-v运行g ++命令,结果如下: run with option -v

1 个答案:

答案 0 :(得分:0)

正如已删除的答案之一所说,当 g++ 驻留在当前目录中时,不会发生此问题。此外,我发现当它可以通过 PATH 环境变量访问时也不会发生。我不知道这是什么原因(可能与共享库或辅助可执行文件的搜索路径有关),但以下在 Msys2 上为我修复了它:

export PATH=$PATH:/mingw64/bin/

在上述之后,我确实从 g++ 获得了有用的 stderr 输出,并且通常编译器按预期工作。