【发布时间】:2020-09-12 17:15:47
【问题描述】:
我正在 Embarcadero RAD Studio 10.4 上转移 C++ Builder 6 的项目,并在 x64 上使用 x86 更改平台。我的项目包括五个 *.dll 和两个 *.exe 文件。 我在x64平台上成功传输了四个*.dll,但是第五个*.dll报错。当 *.dll - 文件生成时,我收到有关错误的消息:“内存不足”。我访问了网址:
http://docwiki.embarcadero.com/RADStudio/Sydney/en/Handling_Out_of_Memory_Errors
发现,在我发生的溢出三个堆中:
- 代码堆大小
- Dwarf str 堆大小
- 信息堆大小
我一点一点地扩大了所有堆的大小。但是,很快我就达到了限制:“[ilink64 Error] Fatal: Malloc of 65536 bytes failed in ........\bins\Win64\Debug\my_dll.ildw_str, line 6” 关于这个信号 Dwarf str Heap Size。 我访问了网址:
https://stackoverflow.com/a/37537734/9494441
并提出了所有提示。
我试过了:
- 使用 lamarker 工具设置大地址感知标志
- 在 10.2.3 版本上将 ilink32.exe 和 ilink64.exe 程序 RAD Studio 替换为 10.4 版本
- 禁用/启用增量链接器
- 手动删除 /debug 中的所有文件
- 全部重建
- 将文件添加到防病毒排除项 ilink32.exe 和 ilink64.exe
我没有任何帮助。如何解决这个问题?谢谢!
【问题讨论】:
标签: dll linker 64-bit c++builder rad-studio