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

我已经开始学习C ++,并写了一个“Hello World” – 程序。 当我尝试运行它在命令提示符下,它崩溃,并给我一个Windows消息,说:“你好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作为编译器。 我已经在环境variables中设置了MinGW / bin的path。 在我将MinGW / bin目录下的所有dll文件复制到Hello World.exe文件夹中之后,程序就可以正常工作了。 所以似乎无论是需要那些DLL都无法正确访问它们。 我想让我为每个创build的项目都复制dll的麻烦。 有什么办法可以解决吗?

我对我的电脑和编程术语还没有真正的自信,所以描述看起来有点粗糙 – 帮助仍然非常感谢!

干杯!

下面的说明为我做了这项工作,所以我把它们加在这里供将来参考,因为这个问题花了相当长的一段时间。

先决条件

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

安装步骤

  1. 从Oracle安装Java JRE。
  2. 安装MinGW。 在“选择组件”步骤中,选择“C ++编译器”和“MSYS基本系统”进行安装。
  3. 为C ++开发人员下载Eclipse。
  4. 解压缩下载到您的下载文件夹的Eclipse存档。
  5. 打开解压缩的Eclipse文件夹中找到的Eclipse应用程序。[2]
  6. 从文件和新建菜单中创建一个新的C ++项目来测试你的Eclipse安装。
  7. 在项目类型的Executable下面选择“Hello World C ++ Project”,在New C ++ Project的Toolchain中选择MinGW GCC。 键入一个项目名称,然后单击完成按钮。
  8. 将“-static-libgcc -static-libstdc ++”添加为新项目的链接器标志。 这个文本应该被添加到链接器标志字段,可以通过右键单击项目浏览器中的新项目并单击属性来找到该字段。 在“项目属性”下,展开“C / C ++构建”菜单,然后单击“设置”。 在“工具设置”选项卡下,展开“MinGW C ++链接器”菜单,然后单击“其他”。 将文本添加到链接器标记字段,然后单击应用按钮。
  9. 单击项目菜单下的生成项目,然后单击运行菜单下的运行。
  10. 通过查看控制台的输出确认您的开发环境正常。

请注意, 第8步是解决问题的那个。

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

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