DEUTSCHE VERSION |
|
Links | | | Forums | | | Comments | | | Report news |
Chat | | | Polls | | | Newsticker | | | Archive |
amiga-news.de Forum > Programmierung > StormC 4 - Mixed Binaries | [ - Search - New posts - Register - Login - ] |
-1- | [ - Post reply - ] |
2004-02-21, 15:45 h Uwe Posts: 74 User |
Beim Erstellen eines Mixed Binaries mit StormC 4 bin ich auf ein Problem gestossen: Beim Linken der PPC und 68k-Objekte kommt vom Linker die Warnung "24 bit reloc is illegal". Und zwar bei jedem Aufruf 68k <-> PPC. Das betreffende Projekt ist ziemlich groß (ca. 3 MB Objekt-Code). Bei einem kleineren Testprogramm funktioniert das Linken, d.h. der Linker meldet das Erzeugen der 68k bzw. PPC-Stubs. Weiß jemand was die Warnung bedeutet? Uwe [ - Answer - Quote - Direct link - ] |
2004-02-22, 11:24 h cygnusEd Posts: 104 User |
Hi, schau mal in's PPC-Object-Verzeichnis. Der StormC-Linker müßte dort die in C-Code erzeugten Stubs abgelegt haben. Diese müssen in das 68k- und in das PPC-Projekt eingebunden werden. Zusätzlich noch das erzeugte PPC-Object-File in das 68k Projekt (Natürlich nach dem Make des PPC-Projektes). Gruß CygnusEd [ - Answer - Quote - Direct link - ] |
2004-02-22, 19:03 h Uwe Posts: 74 User |
>Der StormC-Linker müßte dort die in C-Code erzeugten Stubs abgelegt haben. Hat er eben nicht. Es wird nur eine .t-Datei erzeugt. Bei dem schon erwähnten kleinen Testprogramm funktioniert es. Da erscheint die Warnung "Automatic link vector generated for ..." und es wird eine .t-Datei, ein C-Sourcecode und zwei Objekte erzeugt. Nur beim großen Projekt funktioniert das nicht. Die kompilierten Objekte lasse ich hier auch nicht in ein gemeinsames objects_ppc-Verzeichnis spielen. Der Sourcecode des Projektes ist auf mehrere Verzeichnisse verteilt und es gibt Namensüberschneidungen. Ich habe auch mal versucht wenigstens den betreffenden Teil nach objects_ppc zu kompilieren, aber es entstehen wieder nur .t-Dateien. Es muss also ein grundsätzlicher Link-Fehler sein. Uwe [ - Answer - Quote - Direct link - ] |
2004-02-23, 18:02 h cygnusEd Posts: 104 User |
> Da erscheint die Warnung "Automatic link vector generated for ..." Nach meiner Erfahrung nach, erscheint nicht zwingend diese Meldung, wenn Storm-Link den Stub erzeugt. Bei mir erscheint diese Meldung nur selten, trotzdem wird alles nötige erzeugt. > Die kompilierten Objekte lasse ich hier auch nicht in ein gemeinsames > objects_ppc-Verzeichnis spielen. Wie gehst Du dabei vor? Ich habe immer nur zwei Object-Verzeichnisse - jeweils eines für das 68k- und das PPC-Projekt. (Egal wie groß das Projekt ist). Hast Du mehrere PPC-Projekte? Wenn alles nichts hilft, dann erzeuge doch ein einfaches MixedBin-Projekt, dessen 68K-Projekt eine C-Source-Datei enthält, in der alle befreffenden PPC-Funktionen aufgerufen werden (und sonst nichts). Das PPC-Projekt dann wie gehabt. Meist hilft es, wenn man das Projekt auf das notwendigste begrenzt. Evtl. mehrfach ein "hierarchisches Make" durchführen. CygnusEd [ - Answer - Quote - Direct link - ] |
2004-02-23, 19:46 h Uwe Posts: 74 User |
>Wie gehst Du dabei vor? Ich habe immer nur zwei Object-Verzeichnisse - >jeweils eines für das 68k- und das PPC-Projekt. (Egal wie groß das >Projekt ist). Hast Du mehrere PPC-Projekte? Nein. Ich habe unter Settings/Projekt Environment/Make "Use single object directory" abgeschaltet. Dadurch werden die Objektdateien in das gleiche Verzeichnis wie die C/C++-Dateien geschrieben. Das ist nötig, weil der Sourcecode in mehreren Verzeichnissen verteilt ist und gleiche Namen vorkommen. Sonst würden sich die Objektdateien gegenseitig überschreiben. Das mit dem vereinfachten Projekt werde ich mal ausprobieren. Uwe [ - Answer - Quote - Direct link - ] |
2004-02-25, 21:36 h Uwe Posts: 74 User |
Ich habe es geschafft. Man muss "Small debug files" einschalten. Ich hatte vorher "No debug files" eingestellt um Zeit beim Kompilieren zu sparen. Es kommt zwar immer noch die Fehlermeldung, aber die C-Dateien werden erzeugt. Ich musste aber die erzeugten C-Dateien noch verändern, damit es klappt. Der Compiler vertrug das extern "ASM" nicht. Uwe [ - Answer - Quote - Direct link - ] |
2004-02-26, 10:20 h cygnusEd Posts: 104 User |
@Uwe Tja, da hätte ich auch drauf kommen können. Bei mir taucht das Problem jedoch nicht auf, da ich zu Anfang immer über den Projekt-Manager ein Debug-Projekt erstelle. Hauptsache es klappt CygnusEd [ - Answer - Quote - Direct link - ] |
-1- | [ - Post reply - ] |
amiga-news.de Forum > Programmierung > StormC 4 - Mixed Binaries | [ - Search - New posts - Register - Login - ] |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved. |