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

mingw32: all compiled executables hang

本文关键字:可执行文件 挂起 编译 mingw32      更新时间:2023-10-16

我刚刚安装了最新版本的mingw32,即使是helloworld c++程序也无法编译。

安装在默认的C:/MinGW目录中。我选择了使用mingw-get-gui安装的选项,并选择了左列上的"基本设置"选项卡,标记了用于安装的mingw32-base和mingw32-gcc-g++选项。然后我应用了更改并下载了所有文件。最后,我在windows的路径中添加了C:/MinGW/bin。

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

test.cpp:

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

然后我用g++ test.cpp 进行编译

现在,这个问题有点难以诊断。当我执行输出.exe文件时,命令行只是挂起,没有输出,没有返回。如果我尝试使用ctrl-c取消执行,则不会发生任何事情。当我强行退出命令行,并试图删除a.exe时,windows告诉可执行文件当前已被系统打开,强制删除文件的唯一方法是使用FileASSASSIN。

有些注意事项,我安装了visualstudio12,但路径中没有任何与之相关的内容。我以前安装过cygwin64,但它已经被完全删除了。我从powershell、普通命令行或Console2运行它时也会得到同样的行为。谷歌建议我尝试将libstdc++与-static-libstdc++静态链接,但没有成功。

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

我没有办法在这里获取故障排除信息。有人有什么见解吗?

在@M.M的建议下,我发现avast防病毒软件是停止任何由mingw32制作的可执行文件的无声原因。这很令人费解,因为就在几个小时前,我还在命令行上运行visualstudio制作的可执行文件。

教训:如果你遇到意外行为,一定要尝试防病毒。