首先,我可能已经找到了解决方案,但是(!)我不知道它为什么会起作用。所以我希望有人能解释发生了什么,也许能指出一个更好/正确的解决方案。此外,这可能对其他人有帮助。
我有带有 Eclipse Kepler 64 位的 Windows 7 64 位操作系统、java 版本 1.7.0_25 64 位(通过 jre-7u25-windows-x64.exe)和最新的(不知道如何找出究竟是哪一个)mingw 版本(通过 mingw -get-inst-20120426.exe)今天安装。
我尝试运行标准的 Hello World Eclipse 示例项目:
#include <iostream>
using namespace std;
int main() {
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
return 0;
}
发布配置工作得很好。但是,调试配置崩溃。我收到的唯一错误消息是来自 Windows,说“test.exe 不再工作”(德语错误消息“test.exe funktioniert nicht mehr”) - 没有任何进一步的信息。
因为谷歌搜索只发现了相反的情况——调试有效,发布崩溃——我很绝望,只是尝试了各种修复其他问题的方法。这个有帮助,这里是相关部分的副本:
右键单击您的项目。选择“属性”。选择新窗口左侧的“运行/调试设置”属性。在右侧窗口中,单击您的可执行文件以突出显示(即 - Test.exe),然后单击“编辑”。在“环境”选项卡中,点击“新建”名称:PATH 值:MinGW bin 目录的路径。(对我来说,这是:C:\devcore\MinGW\bin)在所有窗口上单击“确定”以关闭。
有了这个,我可以在调试和发布配置中运行 Hello World 示例。然而,我还没有尝试过更复杂的程序,所以我不确定这是否真的能解决问题。
如果您需要任何进一步的信息,请随时询问。
编辑:
1)我忘了提到我将 mingw\bin 文件夹添加到“路径”-系统变量中。
2) 我尝试将“名称:路径,值:...\mingw\bin”添加到 Preferences->C/C++->Build->Environment->Add。这没有帮助。
Edit2:以下是否正确?
该程序在运行时需要一些 mingw-dll。对于发布配置,这直接链接到 .exe,但对于调试版本,我需要指定 Eclipse 可以在哪里找到 minGW - 我需要在那个地方指定,因为我尝试的另一个选项仅在编译期间使用。
如果是这样,为什么日食不自己这样做?毕竟,这只是 hello world 示例,我知道过去我不需要这样做。