unknown heap name引发Error detected (LME288)从而Unable to perform link问题的解决



unknown heap name引发Error detected (LME288)从而Unable to performlink问题的解决

2015-02-24

在使用C++Builder XE系列的早期过程中发现,C++Builder的某些版本提供了两个几乎一模一样的控件SpinEditCSpinEdit,而另一些相邻的版本中可能只有其中一个,而且奇怪的是,如果在一个版本中使用了其中的一个或两个,在新版本中即时同时提供了这两个控件的话,工程也无法编译执行,提示错误如下所示:

编译错误信息:

[ilink32 Warning] Warning: unknown heapname   : 0x08000000 / 0x08000000

[ilink32 Warning] Warning: Error detected(LME288)

[ilink32 Error] Error: Unable to performlink

编译错误信息解释:

unknown heap name 未知的堆名,可能是产生下面其它警告或错误提示的关键

Error detected (LME288) 检测到错误LME288

Unable to perform link 无法执行连接,一般是工程目录里的Win32\Debug目录中没有产生编译好的.exe文件

Windows 7 64位旗舰版 C++Builder XE7过程中编译XE6的工程时这些问题重新出现

在这些错误中,遍寻网络也未找到LME288是什么错误,也没有任何根本的解决方法,仅仅在官方网站提供的早期版本BUG修复列表中知道它是连接器返回的错误信息,详见:http://edn.embarcadero.com/article/43069

根据这些信息,我们推理出故障的原因是,连接器因为一个名称的异常而返回了一个错误并停止了工作,IDE直接返回这些错误代码给用户,没有告知错误的来源。

之前的解决方法是用一个空的窗体替换不能编译工程中的对应窗体,然后重建这些窗体的界面和代码,在SpinEditCSpinEdit使用较多的情况下这是非常的麻烦的,在偶然的过程中找到了不重建窗体的解决办法:

第一步:关闭所有C++Builder,删除工程目录中的__historyWin32两个目录

第二步:启动一个新的IDE,新建一个空白VCL Forms Application工程,不保存,直接最小化

第三步:再重新启动一个新的IDE,通过菜单File->Open Project...打开原来的工程,编译即可

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页