我已经开始学习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的麻烦。有什么方法可以解决这个问题吗?
我对我的计算机和编程术语并不十分自信,所以描述可能看起来有点粗糙 - 仍然非常感谢帮助!
干杯!
答案 0 :(得分:7)
以下instructions为我做了工作,所以我在这里添加它们以供将来参考,因为这个问题花了很长时间。
<强>先决条件强>
- 应用了所有当前软件更新的Windows 7 64位。
- MinGW 0.5-beta-20120426-1或更高版本。
- Java JRE 1.7或更高版本。
- 的Eclipse
安装步骤
- 从Oracle安装Java JRE。
- 安装MinGW。在“选择组件”步骤中,选择“C ++” 编译器“和”MSYS Basic系统“用于安装。
- 下载Eclipse for C ++ Developers。
- 解压缩下载到“下载”文件夹的Eclipse存档。
- 打开提取的Eclipse中的Eclipse应用程序 文件夹中。[2]
- 通过创建一个新的C ++项目来测试Eclipse安装 文件和新菜单。
- 在项目的可执行文件下选择“Hello World C ++项目” 用于新C ++项目工具链的类型和MinGW GCC。类型 单击项目名称,然后单击完成按钮。
- 将“-static-libgcc -static-libstdc ++”添加为新的链接器标志 项目。此文本应添加到链接器标志字段中 可以通过右键单击项目中的新项目来找到 资源管理器并单击属性。在项目属性下, 展开C / C ++ Build菜单,然后单击Settings。在工具下 在Settings选项卡中,展开MinGW C ++ Linker菜单并单击 杂。将文本添加到链接器标志字段,然后单击 “应用”按钮。
- 单击“项目”菜单下的“生成项目”,然后单击“运行” 运行菜单。
- 通过查看确认您具有正常运行的开发人员环境 控制台的输出。
醇>
请注意第8步是解决问题的方法。
注意:您还应该在freeglut.dll
所在的目录中复制.exe
。
答案 1 :(得分:4)
我遇到了完全相同的问题。我发现我的Path上可能有相同DLL的不同版本。所以我只是将我的C:\ MinGW \ bin路径从Path列表的末尾移动到前面,现在它正在工作。但也许这个解决方案打破了一些依赖于其他版本DLL文件的其他软件。