错误(mingw32/bin/ld.exe 最终链接失败:设备上没有剩余空间)构建 C++ 项目
Posted
技术标签:
【中文标题】错误(mingw32/bin/ld.exe 最终链接失败:设备上没有剩余空间)构建 C++ 项目【英文标题】:Error (mingw32/bin/ld.exe final link failed: No space left on device) building C++ project 【发布时间】:2012-08-28 19:55:45 【问题描述】:基本上,昨天我可以用 C++ 编程,而今天我不能。
我正在尝试使用 MinGW C/C++ 编译器在 Eclipse Helios 中编写一个简单的 hello world 程序,但遇到了几个问题,我相信这是它的根源。
起初程序编译并构建,但是当我尝试运行它时,一个错误对话框说找不到FirstProject.exe文件/在启动配置中不存在。但是,我没有构建任何错误,并且可以在我的项目资源管理器中清楚地看到 Debug/FirstProject.exe 中的二进制文件。我尝试刷新我的项目资源管理器,唉,文件在我眼前消失了。
我尝试再次构建程序,然后我收到此错误:
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../mingw32/bin/ld.exe:最终链接失败:没有剩余空间在设备上
我不知道它在说什么设备。我在这个硬盘上剩下超过 1TB 的空间,所以不可能这样。我尝试清空我的 %Temp% 文件夹和回收站(我发现尝试寻找解决此问题的解决方案的建议)但无济于事。
值得注意的是,我过去编写的 C++ 程序仍在运行。我对编程很陌生,所以我不知道您需要多少信息,但如果您认为可以帮助我,我很乐意添加您需要的任何信息。
【问题讨论】:
是否提供类似LNK****
的错误代码?
你确定它没有把你的项目放在你的 Z 驱动器上吗?
我从控制台得到的唯一信息是:c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../。 ./mingw32/bin/ld.exe:最终链接失败:设备collect2上没有剩余空间:ld返回1退出状态发生构建错误,构建已停止耗时:179毫秒。是的,我已经多次检查了 Debug 文件夹的路径,它位于正确的位置。
我也读到了一些关于临时文件被过度运行的信息。我看到的解决方案建议增加您的虚拟内存。你试过吗?作为编程新手,很难想象简单的程序会遇到这个问题,即使它是一个有效的程序。?。
如何增加它的虚拟内存?这个修复不是临时修复吗?
【参考方案1】:
我刚刚在工作中的一台计算机上解决了这个问题,它在通过 Codelite 编译时遇到了同样的问题。移动工作区、重新启动和重新安装 Codelite 并不能解决问题。我还检查了 /temp 文件夹的权限,这很好。
原来磁盘存在权限问题/其他问题。运行磁盘检查修复了磁盘上的一些问题,并允许程序编译。如果这不能解决您的问题,您可能还想尝试禁用任何防病毒/间谍软件程序,然后重试。
【讨论】:
【参考方案2】:我刚刚在我的电脑上解决了这个问题。实际上,我的问题是我的 Windows Defender(或某人的任何防病毒软件)阻止 ld.exe 访问作为源代码文件夹的受保护文件夹。您可以通过进入 PC 的病毒和威胁防护设置来纠正此问题,然后在此处找到被阻止的历史记录。你肯定会在那里找到那个阻塞的历史记录。然后就去允许它在这个设备上。和繁荣?
【讨论】:
以上是关于错误(mingw32/bin/ld.exe 最终链接失败:设备上没有剩余空间)构建 C++ 项目的主要内容,如果未能解决你的问题,请参考以下文章
QT编译出现ld.exe: cannot open output file debug h_03testCallPy.exe: Permission denied collect2.exe: err(