GCC & DeskLib
Moderator: Patrick
Ich möchte mich nach langer Zeit mal wieder mit C beschäftigen und habe deshalb mir vor einigen Tagen den GCC incl. Unixlib und DeskLib besorgt. Kompilieren auch mit der UnixLib ist bislang kein Problem gewesen, OK die üblichen wenn man Perl und PHP gewohnt ist und lange kein C gemacht hat. Da ich aber über kurz oder lang auch fensterln möchte, wollte ich DeskLib benutzen. Also wollte ich erstmal die Beispiele von DeskLib ausprobieren. Die meisten erzeugen Fehler bzw. Warnungen beim kompilieren. Wenn ich sie dann kompiliert habe und sie starte, kommt folgende Fehlermeldung. Ich nehme hier extra IncDec, da hier beim Kompilieren alles glatt ging.
Inc/Decrement Test has suffered a fatal internal error (not enough memory for template) and must quit immediately
Selbstverständlich habe ich erfolglos die roten Balken im Taskmanager vergrößert. Aber keine Änderung. Hat irgendjemand eine Idee wie ich das Problem aus der Welt schaffen kann?
Mein System in Kurzfassung: rpc, SA, RO 4.0, 64 + 2 MByte
Inc/Decrement Test has suffered a fatal internal error (not enough memory for template) and must quit immediately
Selbstverständlich habe ich erfolglos die roten Balken im Taskmanager vergrößert. Aber keine Änderung. Hat irgendjemand eine Idee wie ich das Problem aus der Welt schaffen kann?
Mein System in Kurzfassung: rpc, SA, RO 4.0, 64 + 2 MByte
-
- RISCOS Experte
- Beiträge: 320
- Registriert: 04 Mär 2005, 18:45
Das ist zwar auch mein System, aber mit C habe ich darauf noch nicht gearbeitet... ;)
- [COLOR="green"][I]Hast Du die Beispielprogramme selbst getippt?[/I][/COLOR]
[B]Dann überprüfe peinlichst genau alle '{'-Klammern und alle ';' auf Richtigkeit (Du erwähntest eine länger Zeit der Arbeit mit Perl und PHP)...[/B] ;)
- [COLOR="green"][I]Sind die Beispielprogramme bereits fertig auf Datenträger mitgeliefert worden?[/I][/COLOR]
[B]Manchmal werden Beispielprogramme mit geringer Sorgfalt hergestellt. Vielleicht hat der originale Quelltext Fehler?[/B]
- [COLOR="green"][I]Hast Du die Beispielprogramme mal unter Linux testweise compiliert?[/I][/COLOR]
[B]Funzt Desklib unter Linux überhaupt? Oder handelt es sich hierbei außschließlich um ein Risc OS Modul?[/B]
Vielleicht helfen Dir diese Gedanken weiter, aber ich fürchte, das Problem liegt hier etwas tiefer begraben... :(
- [COLOR="green"][I]Hast Du die Beispielprogramme selbst getippt?[/I][/COLOR]
[B]Dann überprüfe peinlichst genau alle '{'-Klammern und alle ';' auf Richtigkeit (Du erwähntest eine länger Zeit der Arbeit mit Perl und PHP)...[/B] ;)
- [COLOR="green"][I]Sind die Beispielprogramme bereits fertig auf Datenträger mitgeliefert worden?[/I][/COLOR]
[B]Manchmal werden Beispielprogramme mit geringer Sorgfalt hergestellt. Vielleicht hat der originale Quelltext Fehler?[/B]
- [COLOR="green"][I]Hast Du die Beispielprogramme mal unter Linux testweise compiliert?[/I][/COLOR]
[B]Funzt Desklib unter Linux überhaupt? Oder handelt es sich hierbei außschließlich um ein Risc OS Modul?[/B]
Vielleicht helfen Dir diese Gedanken weiter, aber ich fürchte, das Problem liegt hier etwas tiefer begraben... :(
[quote="Ellminster"]Das ist zwar auch mein System, aber mit C habe ich darauf noch nicht gearbeitet... ;)[/quote]
???
[quote="Ellminster"]Hast Du die Beispielprogramme selbst getippt?[/quote]
Die Beispiele werden mit DeskLib mitgeliefert. Hätte ich ein ; usw. übersehen, dann hätte der C Kompiler mich auf meinen Fehler hingewiesen und ich hätte den dann auch beheben können.
[quote="Ellminster"]Manchmal werden Beispielprogramme mit geringer Sorgfalt hergestellt. Vielleicht hat der originale Quelltext Fehler?[/quote]
Mag sein, daß die Programme nicht perfekt sind, aber ich bekomme nicht eins zum Laufen. Es kommt immer die gleiche Fehlermeldung.
[quote="Ellminster"]Hast Du die Beispielprogramme mal unter Linux testweise compiliert?[/quote]
DeskLib ist eine Library um die WIMP Programmierung (im wessentlichen Fensterprogrammierung) zu erleichtern statt selber mit den SWIs zu hantieren. Also RISC OS only.
???
[quote="Ellminster"]Hast Du die Beispielprogramme selbst getippt?[/quote]
Die Beispiele werden mit DeskLib mitgeliefert. Hätte ich ein ; usw. übersehen, dann hätte der C Kompiler mich auf meinen Fehler hingewiesen und ich hätte den dann auch beheben können.
[quote="Ellminster"]Manchmal werden Beispielprogramme mit geringer Sorgfalt hergestellt. Vielleicht hat der originale Quelltext Fehler?[/quote]
Mag sein, daß die Programme nicht perfekt sind, aber ich bekomme nicht eins zum Laufen. Es kommt immer die gleiche Fehlermeldung.
[quote="Ellminster"]Hast Du die Beispielprogramme mal unter Linux testweise compiliert?[/quote]
DeskLib ist eine Library um die WIMP Programmierung (im wessentlichen Fensterprogrammierung) zu erleichtern statt selber mit den SWIs zu hantieren. Also RISC OS only.
Ich entsinne mich, dass diese Fehlermeldung kam, wenn die 'Templates'-Datei fehlte oder beschaedigt (oder ein Verzeichnis) war, hrm.
Ist es auch wirklich DeskLib >2.60?
Wird auch wirklich gegen 'stubs' gelinkt (oder so aehnlich, o.k. ich bin Norcroft-man)?
Ist es auch wirklich DeskLib >2.60?
Wird auch wirklich gegen 'stubs' gelinkt (oder so aehnlich, o.k. ich bin Norcroft-man)?
All those who believe in telekinesis, raise my hand.
- /.
- /.
Habe den gleichen Fehler hier. (RPC-SA, ROS3.7)
Benutze Desklib 2.60 und GCC 3.4.4 Release 1, also jeweils die aktuellsten Versionen. Gelinkt wird im Makefile des Beispiels erstmal gegen libscl, aber auch wenn man gegen Stubs linkt, klappt es nicht. Der Fehler ist dann allerdings etwas 'anders'. Bei mir zum Beispiel erscheint nach dem starten des !RunImages nur eine Meldung mit dem Wort 'DU', wobei das 'D' in dieser Box kein richtiges D, sondern noch einen Strich durch hat.
Benutze Desklib 2.60 und GCC 3.4.4 Release 1, also jeweils die aktuellsten Versionen. Gelinkt wird im Makefile des Beispiels erstmal gegen libscl, aber auch wenn man gegen Stubs linkt, klappt es nicht. Der Fehler ist dann allerdings etwas 'anders'. Bei mir zum Beispiel erscheint nach dem starten des !RunImages nur eine Meldung mit dem Wort 'DU', wobei das 'D' in dieser Box kein richtiges D, sondern noch einen Strich durch hat.
Ich kann ohne weitere Meldung via Templateeditor in die Templates schauen und irgendwie können doch nicht alle Templates defekt sein. Wie Patrick schon gemerkt hat laufen auch die alten vorkompilierten Beispiele. Kompilieren von Inc/Dec mit DeskLib 2.30 erzeugte mehr als 300 Warnungen und Fehlermeldungen.
DeskLib wurde für den Norcroft Kompiler kompiliert, also muß ich wohl DeskLib mit dem GCC kompilieren und - man ahnt es schon - das klapt natürlich nicht so einfach und ich habe es bislang noch nicht hinbekommen. Eigentlich seltsam das Peter Naulls, als Mitentwickler des GCCs, DeskLib nur für den Norcroft Kompiler gebaut hat.
DeskLib wurde für den Norcroft Kompiler kompiliert, also muß ich wohl DeskLib mit dem GCC kompilieren und - man ahnt es schon - das klapt natürlich nicht so einfach und ich habe es bislang noch nicht hinbekommen. Eigentlich seltsam das Peter Naulls, als Mitentwickler des GCCs, DeskLib nur für den Norcroft Kompiler gebaut hat.
-
- RISCOS Experte
- Beiträge: 320
- Registriert: 04 Mär 2005, 18:45
Wie schon bereits oben erwähnt, habe ich nicht so viel Ahnung von Desklib, daher halte ich mich hier auch sehr zurück. Aber mir kommen eben immer wieder so manche Gedanken, und vielleicht ist ja auch mal der Richtige dabei... ;)
@Carlos - Wenn Du das gleiche !Desklib verwendest, was bei Patrick funzt, dann liegt das Problem m.E. nicht bei !Desklib selbst, sondern in der Umgebung. Vielleicht fehlt Dir ein Modul, oder ein vorhandenes Modul kollidiert mit einem anderen Modul? Immerhin soll sowas ja sogar unter Risc OS schonmal vorkommen können... ;)
Wohl gemerkt, das sind nur ein paar Gedanken!!!
@Carlos - Wenn Du das gleiche !Desklib verwendest, was bei Patrick funzt, dann liegt das Problem m.E. nicht bei !Desklib selbst, sondern in der Umgebung. Vielleicht fehlt Dir ein Modul, oder ein vorhandenes Modul kollidiert mit einem anderen Modul? Immerhin soll sowas ja sogar unter Risc OS schonmal vorkommen können... ;)
Wohl gemerkt, das sind nur ein paar Gedanken!!!
Mir ist nicht klar, ob Patrick auch wirklich selber kompiliert hat. Die fertig kompilierten Beispiele laufen auf alle Fälle. Zudem ist DeskLib 2.30 26 Bit only und ich möchte, auch wenn ich einen Risc PC habe, doch 26/32 Bitneutrales produzieren. Zudem hat das kompilieren von DecInc mit DeskLib 2.30 beim kompilieren über 300 Meldungen (Warunungen und Fehler) produziert und kein !RunImage. Es gibt aber noch Möglichkeiten der Sache auf die Spur zu kommen, das kann ich aber erst heute Abend ausgiebig erforschen.