Max*_*and 31 c++builder linker-errors windows-7-x64 c++builder-xe7
突然,突然之间,我得到了LME288链接器错误.
[ilink32 Warning] Warning: D:/Projects/TrainFever Game Manager/TFGM/Win32/Debug/TFGameManager.ilc: 0x00010000 / 0x08000000
[ilink32 Warning] Warning: D:/Projects/TrainFever Game Manager/TFGM/Win32/Debug/TFGameManager.ild: 0x00010000 / 0x08000000
[ilink32 Warning] Warning: D:/Projects/TrainFever Game Manager/TFGM/Win32/Debug/TFGameManager.ilf: 0x00010000 / 0x0a000000
[ilink32 Warning] Warning: D:/Projects/TrainFever Game Manager/TFGM/Win32/Debug/TFGameManager.ils: 0x0003b000 / 0x08000000
[ilink32 Warning] Warning: unknown heap name : 0x08000000 / 0x08000000
[ilink32 Warning] Warning: Error detected (LME288)
[ilink32 Error] Error: Unable to perform link
Run Code Online (Sandbox Code Playgroud)
我没有安装AV,该项目已经运行了一年多.我试过了:
我还能做些什么来解决这个问题?
编辑
我试图重建其他几个运行良好多年的项目,现在我的所有项目都出现了LME288错误.
cir*_*314 21
注意:随着2017年4月的C++ Builder的10.2东京版本,Embarcadero升级了链接器,显然解决了这个问题(我还没有测试过):"链接器现在可以识别大地址,并且可以在64位上解决高达4GB的问题比特系统,是之前数量的两倍.(有些客户过去通过切换PE头中的位来攻击链接器为LAE [原文如此];因为代码没有写入LAE意识到这个黑客阻止了增量链接和有时其他功能正常运行.)" https://community.embarcadero.com/blogs/entry/what-s-new-in-c-builder-10-2-part-1-the-linker
然而,在2017年5月24日,Ashleigh Quick报道10.2东京的链接器仍然无法解决问题: https ://quality.embarcadero.com/browse/RSP-12869
但仍然有希望:从10.2东京开始,你有一些新的选项来控制LARGEADDRESSAWARE和链接器堆大小.Dieter Woellner 于2017年10月26日报道了暂时设置C++ - Linker | 高级| "-GF:LARGEADDRESSAWARE"的高级选项条目消除了该问题.但问题又回来了,他发现如果你将TDS Heapsize设置为低于0x08000000的值,你可以避免链接错误/崩溃......现在.
=====================================
我是那些攻击链接器成为LAA的客户之一,从而干扰增量链接(我不需要)并解决我的问题.如果您打算在10.1或更早版本中继续使用链接器,并且不需要增量链接,请继续阅读.
=====================================
我通过设置/LARGEADDRESSAWARE标志来解决问题ilink32.exe.原始解决方案来自Hiroyuki Shimada,使用editbin,并于2016年1月12 日在http://qc.embarcadero.com/wc/qcmain.aspx?d=134775发布.他也把它用于bcc32.exe; 我不需要.
作为公共服务,我在这里发布了我的修补过的ilink32.exe版本:
要使用其中任何一个,请ilink32.exe在您的RAD Studio二进制文件目录中重命名(例如,C:\Program Files (x86)\Embarcadero\Studio\17.0\bin对于RAD Studio Seattle或...\18.0\bin柏林),并将其复制到其位置,将其重命名为ilink32.exe.
[注意:这些/ LAA链接器解决了许多问题,但不是所有用户; 请参阅2016年7月25日的@Andrew Legget发表的帖子:https: //quality.embarcadero.com/browse/RSP-13247 ]
这个问题已经存在很长一段时间,不限于XE3,XE5,XE7,XE8 ...现在有一个长时间的讨论/哀叹在https://quality.embarcadero.com/browse/RSP-13247为为什么在一个版本的RAD Studio中修复了这个版本,但是在更高版本中退出了; 显然/ LAA"在与静态RTL递增连接时导致失败".根据Dennis Jones在该帖子中的28/Mar/16 12:14 PM帖子,/ LAA补丁不解决其他链接器错误"EXE1825"或"内存不足".
如果您想查看可以修补ilink32.exe的三种方法,请阅读以下内容...
使用lamarker工具设置Large Address Aware标志,可从以下网址下载:http://cc.embarcadero.com/Item/30459(感谢Doug Hay,19/Jul/16发表于https://quality.embarcadero.com/browse/RSP-13247):
lamarker -M -Filink32.exe
(您可以直接在您的C:\Program Files (x86)\Embarcadero\Studio\17.0\bin(或...\18.0\bin)目录中执行此操作; 如果您有权限,它会将原始文件重命名ilink32.exe为ilink32.exe.old- )
- 要么 -
使用editbin从MS Visual Studio中,如果您已经有这样的安装(即微软要求editbin必须从IDE中运行).作为初步步骤,复制bcc32.exe并ilink32.exe防止UAC阻塞(并备份它们)
copy "C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\bin\bcc32.exe" .
copy "C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\bin\ilink32.exe" .
editbin /LARGEADDRESSAWARE bcc32.exe
editbin /LARGEADDRESSAWARE ilink32.exe
- 要么 -
editbin从MASM32包:从http://www.masm32.com/download.htm下载,创建c:\masm32\bin\editbin.exe.在MASM32安装过程中我收到了一些警告(涉及序号201和203),但是它的自检通过了,而我所需要的只是editbin.exe.
小智 13
我在Windows 10上安装了RAD Studio XE8时遇到了这个问题.当安装在Windows 7(x86)上时,RAD Studio XE8正常工作.
升级到Windows 10(x86)后,我遇到了可怕的未知堆LME288错误.起初它没有出现在Windows 10上,但如果我安装了某些东西,它就会弹出.如果我将计算机还原到Windows 7,它将消失.
经过网上的一点研究,我找到了解决方案.ilink32.exe存在内存问题,您需要在计算机启动时启用3GB内存空间.如果再次显示此错误,以下是我现在所做的事情:
这样做之后,ilink32正常工作.
我发现在安装较新版本的Acronis True Image(2016)后,LME288错误又回来了.但是在这里运行bcdedit解决方案,它修复了RAD Studio XE8链接器!
| 归档时间: |
|
| 查看次数: |
22059 次 |
| 最近记录: |