C+ Builder Linker Error

I am getting a linker error when compiling an application with Embarcadero C++ Builder XE10.1 .
The application is a 32 bit windows VCL application (Web application). I can usually fix the error by re-booting the PC and running the compiler before any other application but recently this doesn't fix the problem.
The PC is a Dell precision 7710 with an Intel i7 2.7 Ghz processor and has 32 GB of RAM. the operating system is Windows 7 Professional 64 bit.
Looking around on the web, the issue would appear to be a buggy Embarcadero Linker which isn't going to be fixed any time soon.
Is there any solution to this ?

I have added the following option in the C++ Linker Additional options:   -GHtds=0x0F000000 and have also checked the  "clear state before linking" box in the C++ linker advanced options, neither of which actions has had any effect.

Any help appreciated.

Roger
LVL 2
alcindorAsked:
Who is Participating?
 
alcindorConnect With a Mentor Author Commented:
I found the solution that works for me on the embarcadero discussions forum Embarcadero Discussion Forum
The relevant instructions are as follows :

1. download LAMARKER from the website http://cc.embarcadero.com/Item/30459
2. unzip it into C:\Windows
3. go to Administrator's command prompt
4. key in as C:\Program Files (x86)\Embarcadero\Studio\16.0\bin>lamarker.exe -M -Filink32.exe <ENTER>
5. done.

The issue is not due to the project source files but an issue with the linker.
0
 
alcindorAuthor Commented:
The linker errors are shown in the screen-shot below:
Embarcadero Linker Errors
0
 
David FavorLinux/LXD/WordPress/Hosting SavantCommented:
Provide your exact list of commands executed + exact errors emitted.

With this additional detail, likely someone can assist.
0
Cloud Class® Course: C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

 
David FavorLinux/LXD/WordPress/Hosting SavantCommented:
In the future, cut + paste text + wrap in CODE directive in comment menu.

This appears to be a problem with heap memory being overrun.

Likely fixes, pass a ilink32 (whatever that might be) an option to use a larger heap value during linking.

Best to post the entire command sequence + entire output of all messages emitted.

Also... ilink32 suggests you're doing a 32 bit link. This might or might not work on 32bit architecture. This depends on many factors, including if you've arranged to only link with 32bit system libraries or a 64bit library has leaked through to your linking.

Mixing 32bit + 64bit code during linking will produce various special effects, like oddball link errors.
0
 
alcindorAuthor Commented:
The linker command line is as follows:

  c:\program files (x86)\embarcadero\studio\18.0\bin\ilink32.exe -G8 -L.\Win32\Debug;"c:\program files (x86)\embarcadero\studio\18.0\lib\Win32\debug";
  CivicWeldRESTServer;"c:\program files (x86)\embarcadero\studio\18.0\lib\win32\release";"c:\program files 
  (x86)\embarcadero\studio\18.0\lib\win32\release\psdk";C:\Users\Public\Documents\Embarcadero\Studio\18.0\DCP -j.\Win32\Debug;"c:\program files 
  (x86)\embarcadero\studio\18.0\lib\Win32\debug";CivicWeldRESTServer;"c:\program files (x86)\embarcadero\studio\18.0\lib\win32\release";"c:\program 
  files (x86)\embarcadero\studio\18.0\lib\win32\release\psdk";C:\Users\Public\Documents\Embarcadero\Studio\18.0\DCP -l.\Win32\Debug -C -v 
  -GA"C:\Users\roger\AppData\Local\Temp\vfs95CE.tmp"="C:\Users\roger\Documents\Embarcadero\Studio\Projects\FrameStatusWebServerV2\FormUnit1.dfm" -aa 
  -V5.0 -Tpe -GHtds=0x0F000000 c0w32 memmgr.lib sysinit.obj .\Win32\Debug\FrameStatusWebServer.obj .\Win32\Debug\FormUnit1.obj 
  .\Win32\Debug\WebModuleUnit1.obj , .\Win32\Debug\FrameStatusWebServer.exe , .\Win32\Debug\FrameStatusWebServer.map , vcl.lib rtl.lib inet.lib 
  dbrtl.lib adortl.lib inetdbxpress.lib inetdb.lib dbexpress.lib DbxCommonDriver.lib DBXMSSQLDriver.lib vclimg.lib xmlrtl.lib vclactnband.lib vclx.lib 
  fmx.lib import32.lib cp32mt.lib , , FrameStatusWebServer.res FrameStatusWebServer.res 

Open in new window


The linker errors reported are as follows:

[ilink32 Warning] Warning: C:/Users/roger/Documents/Embarcadero/Studio/Projects/FrameStatusWebServerV2/Win32/Debug/FrameStatusWebServer.ilc: 0x00010000 / 0x08000000
[ilink32 Warning] Warning: C:/Users/roger/Documents/Embarcadero/Studio/Projects/FrameStatusWebServerV2/Win32/Debug/FrameStatusWebServer.ild: 0x00010000 / 0x08000000
[ilink32 Warning] Warning: C:/Users/roger/Documents/Embarcadero/Studio/Projects/FrameStatusWebServerV2/Win32/Debug/FrameStatusWebServer.ilf: 0x00010000 / 0x0a000000
[ilink32 Warning] Warning: C:/Users/roger/Documents/Embarcadero/Studio/Projects/FrameStatusWebServerV2/Win32/Debug/FrameStatusWebServer.ils: 0x00040000 / 0x08000000
[ilink32 Warning] Warning: unknown heap name   : 0x08000000 / 0x08000000
[ilink32 Warning] Warning: Error detected (LME288)

Open in new window

0
 
David FavorLinux/LXD/WordPress/Hosting SavantCommented:
Take a quick look at suggestions I made in my previous post about additional options to pass your link command.

Only someone with access to ilink32 + a duplicate of your runtime environment, can attempt to fix this problem, so likely best if you go through you ilink32 docs + run the experiments I suggested above.

Likely providing a larger heap space, as a linker option, will be the fix... or at least part of the fix...
0
 
alcindorAuthor Commented:
Problem fixed. thanks for your comments.
0
 
alcindorAuthor Commented:
The solution was found by my searching the embarcadero forums.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.