ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > probleme mit gcc und vbcc | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
15.11.2005, 10:25 Uhr Micha1701 Posts: 938 Nutzer |
Hi! Also ich versuche derzeit verzweifelt mit der CubicIDE und den Compilern gcc/vbcc diverse sourcen zu kompilieren. Besonders scheitere ich dabei immer wieder an problemen mit den pragma/proto files. Ist ja in Ordnung, wenn jeder Compiler das irgendwie anders haben will, damit er weiß, wie er Funktionen in Libraries ansprechen soll. Aber wie will er es denn nun eigentlich haben? fd2pragma bietet so viele Einstellungsmöglichkeiten, daß ich mich einfach nicht entscheiden kann. Wenn ich die Sachen auswähle die dem geforderten am nächsten kommen gibts meist nur Fehler... Außerdem scheinen die Compiler (oder auch die Parser) manchmal nicht zu wissen, was sie eigentlich wollen. Als Beispiel sei da ein Quellcode mit dem include <stdio.h>. Eigentlich nichts schweres. Aber vbcc beschwert sich, daß er nicht weiß, was sprintf() ist. In einem anderen Source findet er es aber problemlos... Kann es denn sein, daß sich includes untereinander nicht vertragen? Hier im speziellen hab ich einmal eben die AmiTCP includes mit dabei und einmal nicht... Auf jeden Fall macht mich das alles mega fertig. Da sitz ich nun 2 Stunden vor der IDE und versuch so ein popliges Progrämmchen zum laufen zu bekommen. Und die Compiler überbieten sich gegenseitig mit der Anzahl der Fehler... Einfach nur nervig... So das mußte jetzt auch mal raus... Weiß denn jemand, wie die GCC/VBCC Includes auszusehen haben und was für includes aus "fremd" SDK für die beiden Compiler zu benutzen sind? -- Micha Look at my HPs: http://www.Silicon-Wizards.com http://www.RealmsofPower.de.vu [ - Antworten - Zitieren - Direktlink - ] |
15.11.2005, 14:50 Uhr MaikG Posts: 5172 Nutzer |
Hab zwar erst mit C und vbcc angefangen aber vielleicht hilfts dir. >Besonders scheitere ich dabei immer wieder an problemen mit den >pragma/proto files. Ist ja in Ordnung, wenn jeder Compiler das >irgendwie anders haben will, damit er weiß, wie er Funktionen in >Libraries ansprechen soll. Aber wie will er es denn nun eigentlich >haben? fd2pragma bietet so viele Einstellungsmöglichkeiten, daß ich >mich einfach nicht entscheiden kann. Wenn ich die Sachen auswähle >die dem geforderten am nächsten kommen gibts meist nur Fehler... Die Dateien für die librarys pragma und so sind alle im NDK von OS3.9 enthalten, ich musste da nichts umwandeln. meine Kommandozeile ist: vc -lamiga -lauto für WOS: vc -lamiga -lauto -amiga-align ggf. kannst du dir auch mal den C-Kurs ansehen, die Sources laufen eingentlich unter vbcc. Du musst aber // entfehrnen das kann vbcc nicht nur /* */ [ - Antworten - Zitieren - Direktlink - ] |
15.11.2005, 14:56 Uhr Micha1701 Posts: 938 Nutzer |
Ja, danke... Hab auch schon festgestellt, daß vbcc kein "//" kann. So was blödes. Dachte das ist C Standard... Naja, hab mein Problem zwischenzeitlich gelöst. Lag daran, daß der include Pfad eine "falsche" Reihenfolge hatte. Die stdio.h wurde dann zuerst aus dem amitcpSDK geladen. Das soll sie wohl nicht...?! Trotzdem alles sehr nervig... -- Micha Look at my HPs: http://www.Silicon-Wizards.com http://www.RealmsofPower.de.vu [ - Antworten - Zitieren - Direktlink - ] |
15.11.2005, 15:27 Uhr Solar Posts: 3680 Nutzer |
Zitat: Standard ist es für C++ und C99. Ältere C-Compiler (K&R, C90, C95) kennen diese Kommentarform nur teilweise. Zitat: Einen Include "stdio.h" zu nennen ist nicht standardkonform. [ - Antworten - Zitieren - Direktlink - ] |
15.11.2005, 15:40 Uhr Micha1701 Posts: 938 Nutzer |
Ich hab ein Include auch nicht stdio.h genannt. Es gibt halt einfach eine stdio.h im amitcpsdk. Und der include pfad war eben "amitcpSDK, vbcc-includes" - richtig ist aber wohl "vbcc-includes, amitcpSDK". Zumindest hat er es so kompiliert. Beim Programmstart ist mir zwar dann WinUAE abgestürzt und hat mir das HDF zerschossen - aber gut, irgendwas ist ja immer... :-( Werds morgen nochmal probieren und vorher ne Sicherung machen... ;-) -- Micha Look at my HPs: http://www.Silicon-Wizards.com http://www.RealmsofPower.de.vu [ - Antworten - Zitieren - Direktlink - ] |
15.11.2005, 15:48 Uhr geit Posts: 332 [Ex-Mitglied] |
Zitat: Du mußt die Option -c99 angeben. Dann klappt es auch mit dem //. Entweder in der entsprechenden config Datei (vbcc:config/) nachtragen oder direkt beim Aufruf. Geit [ Dieser Beitrag wurde von geit am 15.11.2005 um 15:49 Uhr editiert. ] [ - Antworten - Zitieren - Direktlink - ] |
15.11.2005, 15:54 Uhr gni Posts: 1106 Nutzer |
Zitat:Wenn man nur "//" Kommentare haben möchte, dann sollte man auch nur diese aktivieren. Das macht man mit "-+" oder "-cpp-comments". [ Dieser Beitrag wurde von gni am 15.11.2005 um 15:54 Uhr editiert. ] [ - Antworten - Zitieren - Direktlink - ] |
15.11.2005, 16:03 Uhr gni Posts: 1106 Nutzer |
Zitat:Die Verwendung von "-amiga-align" ist problematisch, denn sie könnte auch Strukuren der Standard-Compilerbibliotheken ändern. Besser ist es, die Includes, die 68k-Alignment brauchen in entprechende #pragma Blöcke zu packen, zb. mit entsprechenden Headern wie sie zb. YAM verwendet. [ - Antworten - Zitieren - Direktlink - ] |
15.11.2005, 18:59 Uhr MaikG Posts: 5172 Nutzer |
>Die Verwendung von "-amiga-align" ist problematisch, >denn sie könnte auch Strukuren der Standard-Compilerbibliotheken >ändern. Besser ist es, die Includes, die 68k-Alignment brauchen >in entprechende #pragma Blöcke zu packen, zb. mit entsprechenden >Headern wie sie zb. YAM verwendet. Mir wurde das so geraten, ich hab Bilder von PPaint in C-Source gemacht. Die müsste man dann sicher irgendwie umwandeln und so und ich bin auch noch anfänger. [ - Antworten - Zitieren - Direktlink - ] |
15.11.2005, 19:25 Uhr geit Posts: 332 [Ex-Mitglied] |
Zitat: Die MorphOS includes sind aber leider ziemlich dämlich. Da sind die #pragma pack() via #ifdef abgeklemmt, wenn man VBCC nimmt. Da hilft nur ändern aller Dateien und entweder um die Abfrage __VBCC__ erweitern, oder den #ifdef in jeder Datei entfernen. VBCC unterstützt #prama pack(). Leider funktioniert das in der aktuellen Release nicht richtig und führt sogar zu Compiler abstürzen, wenn man das Kommando zu oft verwendet. Die Fehler sind bereits behoben und sollten mit der nächsten Release kommen. Leider ändert das nichts am MOS SDK. Solange man keine externen CLIBs verwendet ist also -amiga-align beim Compileraufruf immer noch die erste Wahl. OS4 hat diese problematik nicht, da hier explizit VBCC und dessen Funktionen genutzt werden. Geit [ - Antworten - Zitieren - Direktlink - ] |
15.11.2005, 19:26 Uhr geit Posts: 332 [Ex-Mitglied] |
Zitat: Hat mich noch nie gestört. Geit [ - Antworten - Zitieren - Direktlink - ] |
15.11.2005, 19:35 Uhr Kaesebroetchen Posts: 643 Nutzer |
@Micha1701: Wenn du eh unter Windows arbeitest, dann kannst du ja mal AmiDevCpp ausprobieren. Die Probleme mit den Quellcodes sind zwar im Prinzip die selben, aber zumindest stürzt dabei nichts ab und wird auch nichts zerschossen (normalerweise nicht). -- http://amidevcpp.kilu.de/ [ - Antworten - Zitieren - Direktlink - ] |
16.11.2005, 08:30 Uhr Micha1701 Posts: 938 Nutzer |
@Kaesebroetchen: Wär sicherlich ne möglichkeit. Ich möchte aber eigentlich den Code unter gcc oder vbcc zum laufen kriegen um dann später auf meinem AmigaOne ein OS4 Programm zu kompilieren. Bisher hab ich StormC genutzt, was aber leider OS4 nicht unterstützt... Daher der derzeitige Kampf mit vbcc und gcc... -- Micha Look at my HPs: http://www.Silicon-Wizards.com http://www.RealmsofPower.de.vu [ - Antworten - Zitieren - Direktlink - ] |
16.11.2005, 09:12 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Nicht mehr MBasic? Ich möchte ja auch weg von MBasic und die einzige richtige Alternative ist ja C. AmiBlitz ist zwar schön und gut, aber leider backen die ihre eigene Befehle, bzw. steh ich da genau so vor einem Bahnhof wie vor C. Ich hab jetzt vor allem das Problem mit dem richtigen C-Anfänger-Grundsystem. Es soll einfach sein und gut. Was hast du da insgesamt genommen? Das Packet mit GoldED hat mir ja gar nicht gefallen. Hat sich auch gut ins System eingegraben. Naja, aber sonst ganz ok. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
16.11.2005, 09:15 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Mir geht es ja eigentlich auch genau so. Vorallem wenn man so liest was die Leute hier im Programmiererforum für Probleme habe und wie die in den einzelnen Thread gefachsimpelt wird wie man es richtig macht (oder auch nicht). Nunja, ist schon wirklich sehr komplex. Leider. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
16.11.2005, 09:18 Uhr Kaesebroetchen Posts: 643 Nutzer |
Zitat: Der Crosscompiler ist ein gcc Wenn du OS4 Programme schreiben willst, dann musst du einige Anpassungen im Quellcode vornehmen. Normale OS3.x Codes (Reaction/Intuition) lassen sich nicht so ohne weiteres für OS4 kompilieren. Stichwort Interfaces. Zitat: Ich glaube diesen Kampf musste wohl jeder führen... -- http://amidevcpp.kilu.de/ [ - Antworten - Zitieren - Direktlink - ] |
16.11.2005, 09:23 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Davor stehe ich ja auch noch. Aber gcc, ok. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
16.11.2005, 09:53 Uhr Mad_Dog Posts: 1944 Nutzer |
Zitat: Wie ich schon mehrmals erwähnt habe: Wenn Du (unter OS 3.x) in C einsteigen willst, solltest Du Dir unbedingt die Amiga OS Developer CD (die 2. Version) besorgen. Dort sind nicht nur die ganzen "Rom Kernel Reference Manuals" und jede Menge Beispielcode drauf, sondern auch die Vollversion von StormC 3.0. Nun mag das zwar nicht die allerneuste, allertollste Entwicklerumgebung sein, aber für den Anfang ist es optimal, da einfach zu bedienen. Wenn Du erstmal die Grundkenntnisse hast, kannst Du dann auch gcc (mit IDE oder ohne) oder sonst was benutzen. -- http://www.norman-interactive.com [ Dieser Beitrag wurde von Mad_Dog am 16.11.2005 um 09:54 Uhr editiert. ] [ - Antworten - Zitieren - Direktlink - ] |
16.11.2005, 09:58 Uhr MaikG Posts: 5172 Nutzer |
>Nicht mehr MBasic? Kann man so nicht sagen, mit MBasic bekomme ich Programme sehr viel schneller hin, nur ebend nicht für PPC(WOS). Und mit meinem 1. C Programm bin ich noch eine weile beschäftigt. >Ich hab jetzt vor allem das Problem mit dem richtigen >C-Anfänger-Grundsystem. Es soll einfach sein und gut. >Was hast du da insgesamt genommen? Einfach, naja. Ich hab vbcc genommen, war eine weile her als ich das Installiert habe, hatte auf jedenfall Probleme dabei. Das Programm schreibe ich in Editpad, ist denkbar ungeeignet. Man kann aber auch den Maxonbasic editor nehmen der zeigt zumindest die Zeilen an. Ich hatte auch mal so einen C-Kurs auf Diskette, hab aber nichts davon wirklich kapiert. Aber vor eine weile hat es dann klick gemacht. Der C-Kurs im Internet hilft bei den Anfängen auch sehr gut. Und bei weiteren fragen findet man hier im Forum immer schnelle und freundliche hilfe :-) [ - Antworten - Zitieren - Direktlink - ] |
16.11.2005, 10:04 Uhr Mad_Dog Posts: 1944 Nutzer |
Zitat: Du sagst es. Nimm einfach GoldED - ist der beste Texteditor auf allen Plattformen. -- http://www.norman-interactive.com [ - Antworten - Zitieren - Direktlink - ] |
16.11.2005, 10:05 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Hast ja recht. Ich hab jetzt schon mehrfach versucht in C "durchzusteigen", aber ich hab es dann immer wieder "erst mal gelassen". Teils aus Zeitmangel, teils wegen Problemen. Ich muß mal in mein CD-Schrank sehn, welche Versionen ich von den Amiga OS Developer CDs habe. Davon habe ich ja durch diverse EBay-Aktionen ja einige, da ja viele einfach zig CDs bei diversen Hardwarekäufen dazulegen und dadurch hab ich einfach vieles zigfach. Teilweise ist es sogar schon so das ich schon nicht mal weis was ich für CDs habe, weil ich diese einfach ungesehn reinlege und fertig. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > probleme mit gcc und vbcc | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |