LME288

Es mag dem einen oder anderen schon passiert sein: Urplötzlich will sich ein Programm mit dem Embarcadero C++ Builder nicht mehr linken lassen:

Abhängigkeiten des Projekts werden überprüft...
Compilieren von Project1.cbproj (Debug, Win32)
bcc32 Befehlszeile für "Project1.cpp"
  c:\program files (x86)\embarcadero\studio\17.0\bin\bcc32.exe -D_DEBUG -DUSEPACKAGES -n.\Win32\Debug -I"c:\program files 
  (x86)\embarcadero\studio\17.0\include\windows\crtl\DE";"c:\program files (x86)\embarcadero\studio\17.0\include\windows\rtl\DE";"c:\program files 
.......
[VIELE, VIELE WEITERE ZEILEN FOLGEN HIER...]
.......
[ilink32 Warnung] Warning: C:/Users/huh/Documents/Embarcadero/Studio/Projekte/Win32/Debug/Project1.ils: 0x00040000 / 0x08000000
[ilink32 Warnung] Warning: unknown heap name   : 0x08000000 / 0x08000000
[ilink32 Warnung] Warning: Fehler gefunden (LME288)
[ilink32 Fehler] Error: Linken kann nicht ausgeführt werden
Misslungen
Verstrichene Zeit: 00:00:02.2

Hierzu findet man im Netz zahlreiche Tipps, vom Löschen irdgendwelcher Temporärdateien, Deinstallation diverser Programme bis hin zur Neuinstallation vom RAD Studio.

Alles Quatsch – die Lösung ist meist viel einfacher:

In meinem Fall war es einfach so, dass ich die maximale Länge der Environment PATH Variable überschritten habe. Kein Scherz: Ist der Eintrag in PATH länger als 2047 Zeichen, dann funktioniert neben anderem auch das Embarcadero Studio nicht mehr wie erwartet.

Wie dieses Problem im Detail zu lösen ist, bleibt jedem selbst überlassen. Ich habe auf meinem Rechner nicht verwendete Pfade gelöscht und längere Pfade durch kürzere Links (z.B. “C:\_SYS\_BCC17\” anstelle von “C:\Program Files (x86)\Embarcadero\Studio\17.0”) ersetzt.

Weiterführende Literatur:

https://software.intel.com/en-us/articles/limitation-to-the-length-of-the-system-path-variable

Edit: Das alles wäre zu schön gewesen um wahr zu sein. Für einige Zeit hält die Problemlösung, dann aber plötzlich will es wieder nicht funktionieren und es treten die selben Probleme wie zu Beginn auf.

Ein weiterer Lösungsvorschlag ist die Datenausführungsverhinderung, wie hier beschrieben: http://www.winfaq.de/faq_html/Content/tip2000/onlinefaq.php?h=tip2323.htm