I'm transfering project for C++ Builder 6 on Embarcadero RAD Studio 10.4 and change platform with x86 on x64. My project include five *.dll and two *.exe files. I success transfer four *.dll on x64 platform, but fifth *.dll report about error. When *.dll - file make, I get message about error: "Out of memory". I visited url:
http://docwiki.embarcadero.com/RADStudio/Sydney/en/Handling_Out_of_Memory_Errors
and found out, that in my happening overflow three heap:
- Code Heap Size
- Dwarf str Heap Size
- Info Heap Size
Little by little I enlarged size all heaps. But, soon I reached limitation: "[ilink64 Error] Fatal: Malloc of 65536 bytes failed in ........\bins\Win64\Debug\my_dll.ildw_str, line 6" About this signaling Dwarf str Heap Size. I visited url:
https://stackoverflow.com/a/37537734/9494441
and maked all tips.
I tryed:
- Setted Large Address Aware flag with the lamarker tool
- Replace ilink32.exe and ilink64.exe program RAD Studio with version 10.4 on version 10.2.3
- Incremental linker disabled/enabled
- Manually removing all files in /debug
- all rebuild
- add files to the antivirus exclusions ilink32.exe and ilink64.exe
Me didn't help nothing. How fix this problem? Thanks!