C ++“Hello World.exe”崩溃 - “Hello World.exe已停止工作。”在命令提示符下使用时

时间:2013-12-19 22:50:15

标签: c++ windows eclipse dll crash

我已经开始学习C ++并写了一个“Hello World”-Program。当我尝试在命令提示符下运行它时,它崩溃并给我一条Windows消息,说“Hello World.exe已停止工作。”。

代码:

#include <iostream>
#include <string>

int main()
{
    std::string response;

    std::cout << "Hallo Welt\n";
    std::cin >> response;
    std::cout << "User: " << response;

    return(0);
}

我正在使用Eclipse IDE和MinGW作为编译器。我已经在环境变量中设置了MinGW / bin的路径。将所有dll从MinGW / bin目录复制到Hello World.exe的文件夹后,程序运行顺利。所以似乎无论是什么需要那些dll都无法正确访问它们。我想免除我为我创建的每个项目复制dll的麻烦。有什么方法可以解决这个问题吗?

我对我的计算机和编程术语并不十分自信,所以描述可能看起来有点粗糙 - 仍然非常感谢帮助!

干杯!

2 个答案:

答案 0 :(得分:7)

以下instructions为我做了工作,所以我在这里添加它们以供将来参考,因为这个问题花了很长时间。

  

<强>先决条件

     
      
  • 应用了所有当前软件更新的Windows 7 64位。
  •   
  • MinGW 0.5-beta-20120426-1或更高版本。
  •   
  • Java JRE 1.7或更高版本。
  •   
  • 的Eclipse
  •   
     

安装步骤

     
      
  1. 从Oracle安装Java JRE。
  2.   
  3. 安装MinGW。在“选择组件”步骤中,选择“C ++”   编译器“和”MSYS Basic系统“用于安装。
  4.   
  5. 下载Eclipse for C ++ Developers。
  6.   
  7. 解压缩下载到“下载”文件夹的Eclipse存档。
  8.   
  9. 打开提取的Eclipse中的Eclipse应用程序   文件夹中。[2]
  10.   
  11. 通过创建一个新的C ++项目来测试Eclipse安装   文件和新菜单。
  12.   
  13. 在项目的可执行文件下选择“Hello World C ++项目”   用于新C ++项目工具链的类型和MinGW GCC。类型   单击项目名称,然后单击完成按钮。
  14.   
  15. 将“-static-libgcc -static-libstdc ++”添加为新的链接器标志   项目。此文本应添加到链接器标志字段中   可以通过右键单击项目中的新项目来找到   资源管理器并单击属性。在项目属性下,   展开C / C ++ Build菜单,然后单击Settings。在工具下   在Settings选项卡中,展开MinGW C ++ Linker菜单并单击   杂。将文本添加到链接器标志字段,然后单击   “应用”按钮。
  16.   
  17. 单击“项目”菜单下的“生成项目”,然后单击“运行”   运行菜单。
  18.   
  19. 通过查看确认您具有正常运行的开发人员环境   控制台的输出。
  20.   

请注意第8步是解决问题的方法。

注意:您还应该在freeglut.dll所在的目录中复制.exe

答案 1 :(得分:4)

我遇到了完全相同的问题。我发现我的Path上可能有相同DLL的不同版本。所以我只是将我的C:\ MinGW \ bin路径从Path列表的末尾移动到前面,现在它正在工作。但也许这个解决方案打破了一些依赖于其他版本DLL文件的其他软件。