A
W. Posur schrieb:
Ich habe in meinem Verzeichnis die ilink32.exe und die ilink32.dll.
Und dieser Beitrag von audacia:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-221376-and-start-is-33.html
deutet darauf hin, daß es funktionieren könnte.
Es geht vermutlich um folgendes Statement:
audacia schrieb:
Hast du möglicherweise Zugriff auf einen etwas aktuelleren C++Builder? In allen Folgeversionen, auch in C++BuilderX, wurden eine Menge Linkerfehler behoben. Du mußt dein Projekt auch gar nicht gleich vollständig migrieren; es sollte reichen, wenn du die ilink32.exe des C++Builder 5 sicherst und durch die aktuellere Version ersetzt.
Da war ich mir der Existenz von ilink32.dll nicht bewußt (ich besitze C++Builder 5 nicht). Zwischenzeitlich hatte ich dasselbe mal in C++Builder 6 getestet, woraufhin ich feststellte, daß es aus genanntem Grunde nicht wunschgemäß funktionieren konnte. Da sich ilink32.dll auch bereits in C++Builder 1 befand, nahm ich an, daß auch C++Builder 5 diese benutzt.
Dem C++Builder 6 ist ein Tool namens BPR2MAK beigelegt, mit dem aus einer Projektdatei ein Makefile erstellt werden kann. Wenn die Anwendung aus der Kommandozeile anhand des Makefiles kompiliert wird, werden die Kommandozeilentools (also bcc32.exe und ilink32.exe) anstelle der DLL-Varianten (comp32x/p.dll und ilink32.dll) verwendet. Damit könntest du testen, ob der Fehler möglicherweise mit einer neueren Linker-Version verschwindet. Jedoch ist das kein langfristig tauglicher Workaround.