c++ Builder xe5 [ilink32 错误] 错误: 无法执行链接 [ilink32 警告] 警告: 发现错误 (LME288)
这是我在Windows XP上尝试编译c++ builder xe5测试项目时发生的错误。
c++ Builder xe5 [ilink32 错误] 错误: 无法执行链接 [ilink32 警告] 警告: 发现错误 (LME288)
这是我在Windows XP上尝试编译c++ builder xe5测试项目时发生的错误。
我从Embarcadero获得了一些信息,它可能会有所帮助。
错误是“内存不足”错误。在链接器中,“内存不足”错误(以不同方式出现)的原因是,链接器必须预先分配连续堆中的内存,然后在链接时使用这些内存。过去,这些堆无法调整,我们必须进行最佳猜测,因此在新的64位链接器(也已添加到32位链接器中),我们允许人们在需要时手动调整这些堆的大小。现在,这些堆可能成为问题的原因是,并非所有系统都相同,有些人使用将DLL映射到链接器的地址空间中的不同软件,例如Windows Hook DLL、防病毒软件,所有这些DLL都在链接器(任何应用程序)的地址空间内分配内存,从而对链接器可以分配的堆的大小产生影响。因此,我们添加了手动调整堆的功能,但我们还将初始堆分配得很大。我明白了。
我在Windows 7x64上使用Seattle 10时遇到了同样的问题。 我尝试了所有可以在SO,EDN和其他地方找到的方法。 最后,我不得不使用我的Embarcadero支持票据,因为我再也无法链接任何东西了。 经过Embarcadero的一位高级软件工程师艰苦卓绝的努力,我们最终发现了这个解决方法:
首先,右键单击ilink32.exe,选择属性,然后转到兼容性选项卡,并选中“以兼容模式运行此程序”复选框,选择Windows XP SP3。 在我的系统上(64位Win7,运行Seattle 10),ilink32.exe文件位于“C:\ Program Files(x86)\ Embarcadero \ Studio \ 17.0 \ bin。”
其次,通过右键单击Builder启动图标并选择“以管理员身份运行”来强制进行管理权限(即使您已经是管理员)。
现在,打开您的项目并随心所欲地链接吧! (结果可能会有所不同。)
我刚在Windows 10上遇到了XE4的问题。Fvel引导我找到了正确的方向。问题是文件使用BDSLauncher.exe而不是bds.exe打开导致的。我将.groupproj的默认程序设置为bds.exe,问题就解决了。
我在RAD Studio XE7 / Windows 10上遇到了相同的链接器问题LME288。 使用CCleaner清理临时文件解决了这个问题。
编辑:问题不断出现,但再次运行清理可以解决它。
对我来说,问题出现在我在XE7中打开了自动增量构建号。我之前的项目已经运行了几个月没有问题。该项目是由早期版本的Builder创建的。首先出现的问题是编译器找不到windows.h文件,rc编译器也是如此。 Builder更新了路径以无效版本(可能是早期的Builder)的形式。添加路径后,出现了LME288错误。 关闭自动增量构建号并删除所有临时文件后,似乎又可以正常工作了。
如果您使用的是Bitdefender,请禁用embarcadero bin文件夹中ilink32.exe的反病毒保护软件。
对我来说,在Windows 10中,问题是因为没有分配足够的虚拟内存。
解决问题的步骤: