调试错误 - 无法打开文件:../mingwrt-4.0.3-1-mingw32-src/src/libcrt/crt/crt1.c

时间:2014-10-28 15:57:57

标签: c++ debugging

快速设置说明:

我在Windows上使用Code :: Blocks with GCC进行编译。我对此非常陌生,但我只是想编译标准的Hello World!程序(因为我所有的其他程序都经历过这个)。当我运行该程序时,我得到了#34; Program.exe已停止工作"对话框。这是代码:

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello world!" << endl;
    return 0;
}

当我编译它时,我没有错误,但是当我调试它时,我得到无法打开文件:../mingwrt-4.0.3-1-mingw32-src/src/libcrt/crt/crt1。程序到达main结束后

考虑到我在系统上对该文件路径的任何引用都没有问题,也没有crt1.c的任何.c文件。我认为我需要调整一些东西,以便重新开始。我只是不知道在哪里。

1 个答案:

答案 0 :(得分:1)

我和mingw和Eclipse有完全相同的问题。

正如你所说,该项目构建正常,但不能从IDE中干净地运行 - 试验我将mingw / bin目录添加到我的系统路径,然后从Windows命令提示符运行hello.exe,它运行得很干净。 / p>

从Eclipse中运行带有菜单选项Run / Debug的项目,调试器在没有问题的情况下执行代码,直到它退出main()并尝试在cstartup中运行退出代码(否则位于crt1.c中)然后GDB / Eclipse会抱怨并提示输入丢失的文件crt1.c。

我在这里找到了丢失的crt1.c文件,http://www.mingw.org/category/wiki/source_code (按照指向sourceforge存储库的链接并下载快照。我将整个内容解压缩并将其放在mingw32文件夹中。)

在我的情况下,重新运行项目并在提示时添加文件,然后重建清除了问题。 我怀疑可能还有其他方法可以解决这个问题,但我还不太了解Eclipse和Mingw。

希望这有帮助。

Eclipse版本:Indigo Service Release 2 构建ID:20120216-1857, mingw32-gcc-g ++ 4.8.1, Windows 8