c++ - mingw32:所有编译的可执行文件挂起

标签 c++ windows mingw32

我刚刚安装了最新版本的 mingw32 并试图编译一个 hello world c++ 程序失败。

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

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

测试.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 运行,然后运行启动时,它也同样挂起。

我不知道如何在此处获取信息以进行故障排除。有没有人有任何见识?

最佳答案

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

经验教训:如果遇到意外行为,请始终尝试使用防病毒软件。

关于c++ - mingw32:所有编译的可执行文件挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33605828/

相关文章:

c++ - 如何使用循环增加指数?

c++ - 用 Boost.Asio 链接异步 Lambda?

c++ - 如何让 Visual Studio 使用 OpenCV 支持编译我的应用程序?

c# - 自定义多因素 Active Directory 身份验证

c++ - Windows 套接字编程 - 错误代码 0

c++ - -O1/2/3 与 -std=c++1y/11/98 - 如果包含 <cmath> 我收到错误 : '_hypot' was not declared in this scope

c - 未找到 Automake 错误 './ltmain.sh'

c++ - 将 QString 转换为 std::string*

python - 如何为 Windows 创建(或扩展)Python 3.x 可嵌入 zip

c - 如果文件已经打开,fopen 是否返回 NULL 指针?