我见过这样一个类似的,两岁的问题,但没有找到答案......
在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键时,编译似乎已完成,但没有任何响应,我的源代码仍然独自存在于他的文件夹中。
如果我在源文件中出错,编译器会识别它,并且错误消息正常。
我已从此处删除了链接(仅允许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
答案 0 :(得分:0)
正如已删除的答案之一所说,当 g++
驻留在当前目录中时,不会发生此问题。此外,我发现当它可以通过 PATH
环境变量访问时也不会发生。我不知道这是什么原因(可能与共享库或辅助可执行文件的搜索路径有关),但以下在 Msys2 上为我修复了它:
export PATH=$PATH:/mingw64/bin/
在上述之后,我确实从 g++
获得了有用的 stderr 输出,并且通常编译器按预期工作。