amiga-news 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?
--
:boing: Micha :boing:

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...

--
:boing: Micha :boing:

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:
Original von Micha1701:

Hab auch schon festgestellt, daß vbcc kein "//" kann. So was blödes. Dachte das ist C Standard...


Standard ist es für C++ und C99. Ältere C-Compiler (K&R, C90, C95) kennen diese Kommentarform nur teilweise.

Zitat:
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...?!

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... ;-)


--
:boing: Micha :boing:

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:
Original von Micha1701:

Hab auch schon festgestellt, daß vbcc kein "//" kann. So was blödes. Dachte das ist C Standard...


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:
geit:
Zitat:
Micha1701:
Hab auch schon festgestellt, daß vbcc kein "//" kann. So was blödes. Dachte das ist C Standard...

Du mußt die Option -c99 angeben. Dann klappt es auch mit dem //.
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:
MaikG:
für WOS:
vc -lamiga -lauto -amiga-align

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:
Original von gni:
Zitat:
MaikG:
für WOS:
vc -lamiga -lauto -amiga-align

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.

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:
Original von gni:
Zitat:
geit:
Zitat:
Micha1701:
Hab auch schon festgestellt, daß vbcc kein "//" kann. So was blödes. Dachte das ist C Standard...

Du mußt die Option -c99 angeben. Dann klappt es auch mit dem //.
Wenn man nur "//" Kommentare haben möchte, dann sollte man auch nur diese aktivieren. Das macht man mit "-+" oder "-cpp-comments".

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...

--
:boing: Micha :boing:

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:
Original von MaikG:
Hab zwar erst mit C und vbcc angefangen aber vielleicht hilfts dir.


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. :lach: :angry:

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. 8o Naja, aber sonst ganz ok.
--
http://www.alternativercomputerclub.de.vu

[ - Antworten - Zitieren - Direktlink - ]

16.11.2005, 09:15 Uhr

Ralf27
Posts: 2779
Nutzer
Zitat:
Original von Micha1701:
Daher der derzeitige Kampf mit vbcc und gcc...


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:
Original von Micha1701:
@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.


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:
Bisher hab ich StormC genutzt, was aber leider OS4 nicht unterstützt...

Daher der derzeitige Kampf mit vbcc und gcc...


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:
Original von Kaesebroetchen:
Ich glaube diesen Kampf musste wohl jeder führen...


Davor stehe ich ja auch noch. 8o :lach:

Aber gcc, ok. :)
--
http://www.alternativercomputerclub.de.vu

[ - Antworten - Zitieren - Direktlink - ]

16.11.2005, 09:53 Uhr

Mad_Dog
Posts: 1944
Nutzer
Zitat:
Original von Ralf27:

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?


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:
Original von MaikG:

Das Programm schreibe ich in Editpad, ist denkbar ungeeignet.


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:
Original von Mad_Dog:
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. editiert. ]


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.
.