DEUTSCHE VERSION |
|
Links | | | Forums | | | Comments | | | Report news |
Chat | | | Polls | | | Newsticker | | | Archive |
amiga-news.de Forum > Programmierung > GCC <-> StormC | [ - Search - New posts - Register - Login - ] |
-1- | [ - Post reply - ] |
2004-01-28, 22:56 h JensB Posts: 193 User |
Hi, ich habe versucht mein Tool von MOS nach AmigaOS zu bringen.Ich habe mein Quelltext genommen auf mein A4000T rübergeworfen und in StormC V4 als Project erstellt und alle Deteien eingefügt. Ich habe es ersrt mit der GCC version die bei StormC V4 bei ist versucht zu kompilieren , ergebnis = 270 Warnungen und 260 Fehler (soviel zeilen hat nicht mal der code) . Mit dem Hauseigenen Compiler von StormC erhalte ich nur 1 Fehlermeldung und 2 Warnungen (die 2 Warnungen bekomme ich in den griff) . Die Fehlermeldung : Idendiefi›"LocaleBase" redefined. Ich habe es so deklariert : #include <proto/locale.h> //Ich hab auch <pragmas/locale_pragmas.h> probiert struct Library *LocaleBase; (ups ich glaube ist alles ein bissel verschoben) Unter MOS mit GCC hauts hin. Grübel !!! Vieleicht ist es auch schon zu spät und ich hab nen Brett vorm Kopf !? Mfg JensB [ - Answer - Quote - Direct link - ] |
2004-01-29, 01:50 h HelmutH Posts: 150 User |
Hi JensB Falls Du da nicht weiter kommst, schreibe Dein Problem doch mal ins H&P Forum http://www.haage-partner.de/php/forum/viewforum.php?f=3. Vieleicht kann Dir da jemand weiter helfen.;) Gruß Helmut [ - Answer - Quote - Direct link - ] |
2004-01-29, 10:36 h cygnusEd Posts: 104 User |
Hallo, Das Problem mit der Localebase ist leicht erklärt. In der Header-Datei "proto/locale.h" steht folgendes: #ifndef __NOLIBBASE__ extern struct LocaleBase * LocaleBase; #endif /* __NOLIBBASE__ */ "__NOLIBBASE__" ist in der Regel nicht definiert, somit wird auch hier LocaleBase deklariert. Setzt man also "#define __NOLIBBASE__" vor den Include ist alle o.k. Das Proto-File ist auf jedem fall dem Pragma-File vorzuziehen. Bei StormGCC hilft leider nichts außer den Code zu überarbeiten. Der Compiler sehr streng. Oft sind aber nur wenige wirkliche Fehler vorhanden, die anderen sind meist Folgefehler. Gruß CygnusEd [ - Answer - Quote - Direct link - ] |
2004-01-29, 11:58 h JensB Posts: 193 User |
Danke das mit der LocaleBase hat Funktioniert und wird bis auf 2 Warnungen(müssen noch raus) auch fertig Kompiliert aber nach dem Starten wirft mir jetzt der Debuger ein Fehler aus (auf deutsch: das programm ist abgestürtzt) das ganze aber schon beim öffnen der Libs.› Ist es möglich mit dem Debuger zu sehen welche zeile das verursacht ? Mit dem Debuger von E war es imer möglich warum nicht mit dem Teil von StormC ? Mfg JensB [ - Answer - Quote - Direct link - ] |
2004-01-29, 18:14 h cygnusEd Posts: 104 User |
Hallo Jens, Wenn Du alle Libraries "von Hand" öffnest, d.h. innerhalb Deines eigenen Codes, sollte es kein Problem sein, jede einzelne Zeile zu debuggen. Evtl. mußt Du die Debuggereinstellungen überprüfen, "Fat-Debugfile" und "compile debugger friendly" sollte angewählt sein. Außerdem sollte der Optimizer abgeschaltet sein. Die Frage ist allerdings auch, auf welche Art die Libraries geöffnet werden. Vielleicht macht ja das automatische Öffnen der Libs einen Strich durch die Rechnung. Gruß CygnusEd [ - Answer - Quote - Direct link - ] |
2004-01-30, 12:40 h JensB Posts: 193 User |
Also ich öffne so die Libs (bsp. die Locale.Library) : #include <libraries/locale.h> #include <proto/locale.h> int openlibs(void) { int retrn=FALSE; if(!(LocaleBase = (struct Library*)OpenLibrary("locale.library",37)) {retrn=TRUE;} // hier stehen dann noch weitere libs ,"retrn" wird erst TRUE wenn alle libs erfolgreich geöffnet sind return(retrn); } Ich hoffe ich habe es jetzt auch wieder richtig aus meinem Kopf ausgegraben ,hab hier auf Arbeit immer bloß 1-2min Zeit was zu schreiben ! Mfg JensB [ - Answer - Quote - Direct link - ] |
2004-01-30, 16:23 h cygnusEd Posts: 104 User |
Hi, sieht soweit gut aus. Wenn dann noch LocalBase über "struct Library *LocaleBase;" deklariert ist, kann eigendlich nichts schief gehen. Schmiert das Programm direkt nach bei der ersten Library ab? In solchen Fällen gehe ich meistens hin und lege mit dem Projekt-Assistenen ein leeres Projekt an und probiere darin nur die problematische Stelle aus. Ein Blick in die Linker-Map hat mir da schon oft weitergeholfen. Sollte openlibs() immer noch Probleme machen, kannst Du ja die Linker-Map hier hineinsetzen. Gruß CygnusEd [ - Answer - Quote - Direct link - ] |
2004-01-31, 11:40 h JensB Posts: 193 User |
So i hab jetzt den Fehler !!! Ich habe auch am anfang die IntuiLib mit "struct IntuitionBase =NULL;" deklariert gehabt ! Nach dem Entfernen war alles OK ! Frage: Öffnen mus ich die für diese Programm trotzdem oder ??? Ich werde nochmal ganz wuschig hier in E brauchte ich das nicht mit der Intuitions.library (weder öffnen und schliessen )! Mfg JensB [ - Answer - Quote - Direct link - ] |
2004-01-31, 13:59 h cygnusEd Posts: 104 User |
Hi, brauchst Du bei StormC auch nicht. Einfach die Library-Base mit "extern" deklarieren und die Library wird automatisch geöffnet und geschlossen In der Dokumentation von StormC 4 sind alle Libraries aufgeführt, bei denen das klappt. Gruß CygnusEd [ - Answer - Quote - Direct link - ] |
-1- | [ - Post reply - ] |
amiga-news.de Forum > Programmierung > GCC <-> StormC | [ - Search - New posts - Register - Login - ] |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved. |