mingw32:所有已编译的可执行文件都挂起

时间:2015-11-09 09:17:40

标签: c++ windows mingw32

我刚刚安装了最新版本的mingw32,并尝试编译即使是一个hello world c ++程序也失败了。

安装位于默认的C:/ MinGW目录中。我选择了使用mingw-get gui进行安装的选项,并选择了左侧列中的Basic Setup选项卡,标记了mingw32-base和mingw32-gcc-g ++选项以进行安装。然后我应用了更改并下载了所有文件。最后,我将C:/ MinGW / bin添加到了Windows的路径中。

现在我创建一个如下所示的文件:

TEST.CPP:

#include <iostream>

int main() {
    std::cout << "hello world!" << std::endl;
    return 0;
}

然后我用g++ test.cpp

编译

现在,问题有点难以诊断。当我执行输出a.exe文件时,命令行只是挂起,没有输出,没有返回。如果我尝试用ctrl-c取消执行,则没有任何反应。当我强行退出命令行,并尝试删除a.exe时,Windows告诉我系统当前打开了可执行文件,强行删除文件的唯一方法是使用FileASSASSIN。

有些注意事项,我安装了visual studio 12,但路径上没有任何相关内容。我之前安装了cygwin64,但它已被完全删除。我从powershell,普通命令行或Console2运行它的行为相同。 Google建议我尝试静态链接libstdc ++和-static-libstdc++,但无济于事。

此外,使用调试符号编译然后使用gdb a.exe运行,然后运行start时,它也会挂起。

我在这里获取有关故障排除信息的想法。有没有人有任何见解?

1 个答案:

答案 0 :(得分:2)

根据@ M.M的建议,我发现avast防病毒是暂停mingw32所做的任何可执行文件的沉默原因。这令人费解,因为我几小时前在命令行上运行了visual studio制作的可执行文件。

课程:如果遇到意外行为,请始终尝试使用防病毒软件。