amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > GCC installieren [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- 2 [ - Beitrag schreiben - ]

31.07.2005, 13:47 Uhr

Amaris
Posts: 941
Nutzer
Hallo

Ich versuche nun schon ziemlich lange den GCC zum Laufen zu bringen.
Schon geschlagene 5 - 6 Monate (!) bastele ich immer wieder daran herum.

Mittlerweile habe ich ihn zwar so weit daß wenigestens einfache Programme wie "Hallo Welt" kompiliert werden, aber gestern habe ich mir mal das OS 3.9-NDK heruntergeladen um dieses Programm hier:
http://www.liquido2.com/tutorial/deutsch/einfaches_fenster.html

auszuprobieren.
Aber egal wo ich die Includes aus dem NDK auch hinkopiere, das Compilieren klappt nicht. Nichts....aber auch gar nichts wird gefunden.

Irgendwas passt da nicht. Ich habe leider noch nie eine vernünftige Installations-Anleitung gefunden (und ich möchte übrigens nur den GCC installieren, nicht dieses komplette GeekGadgets-Paket. Dazu ist meine momentane Festplatte zu klein)

Kann mir vielleicht irgendwer mal erklären, welche Dateien ich wohin kopieren muß und was ich in die user-startup schreiben muß, damit der GCC korrekt funktioniert ???

Ich werd noch wahnsinnig.....ein halbes Jahr Bastelei ist echt genug.

MfG
Amaris

--
-Amiga 1200 + Blizzard 1230 IV, 120MB HDD, externes CD-ROM

[ - Antworten - Zitieren - Direktlink - ]

31.07.2005, 14:24 Uhr

DariusBrewka
Posts: 899
[Benutzer gesperrt]
Jaja das ist nicht so einfach, aber das einfache kopieren der dateien aus dem NDK wird auch nicht reichen.

eigentlich brauchst du auch nichts in die User startup und so eintragen nur ein "Path GG:bin add" sollte reichen, den rest erledigt gcc relativ zu diesem pfad. die os-includes gehören AFAIK nach gg:os-includes, die linker-libs nach gg:os-lib, du musst aber noch aus den fd files für den GCC die richtigen inlines machen,ich hab's mit fd2pragma gemacht aber AFAIK gibt's beim gcc irgendwo das Commando fd2inline.

Ich kenne das Problem aber auch, in den Installationsanleitungen steht dass die includes da und da hingehören, klappen tut's aber nie und wenn dem so ist, kannst du auch beim Compilieren den Pfad zu den Includes angeben "gcc .... text.c -Iincludepfad -Llinklibpfad", dass hat immer geklappt.

Das gesagte gilt für gcc 2.95, bei 3.x hat's bei mir aber auch nicht mehr geklappt.

[ - Antworten - Zitieren - Direktlink - ]

31.07.2005, 15:42 Uhr

Dietmar
Posts: 166
Nutzer
@Amaris:
Zitat:
Kann mir vielleicht irgendwer mal erklären, welche Dateien ich wohin kopieren muß und was ich in die user-startup schreiben muß, damit der GCC korrekt funktioniert ???
Es gibt mittlerweile zahlreiche fertige gcc-Installationen, wieso nimmst Du nicht eine davon?! Die Installation läuft dann auf anklicken hinaus und die Sache ist in ein paar Minuten erledigt. Manuelle Installation muss man sich schon lange nicht mehr antun. Sehr umfangreich ist zum Beispiel das Compiler-Paket für GoldED, das zahlreiche freie Amiga-Compiler enthält und natürlich auch mit jedem anderen Editor benutzt werden kann:

- gcc 2.95.3 für OS3
- gcc 3.3 für OS3
- gcc 3.4.2 für OS4
- gcc 2.95.3 für MorphOS
- gcc 2.95.4 für MorphOS
- vbcc für OS3/OS4/MorphOS/PowerUP/WarpOS
- OS3 NDK
- OS4 SDK
- MorphOS SDK
- PowerUP SDK
- WarpOS SDK

Das alles wird automatisch installiert, die SDKs werden mit den Compilern in einem Verzeichnisbaum (devkits:) integriert, inlines werden erzeugt usw. Download:

C/C++-Paket 4.3
http://www.dietmar-eilert.net/golded/files.htm (C/C++-Paket 4.3)

Voraussetzungen: DSL für den Download (ist etwas grösser ;) , ca. 400 MB Festplattenplatz für Maximalinstallation, schneller Rechner mit viel Speicher für Spass mit gcc (A1/Pegasos/UAE/060). Da das Paket einige Komponenten für GoldED installieren will - Syntax-Hihglighting usw. - muss zumindest eine GoldED-Demo installiert sein; die gibt es auf der gleichen Seite. Die Compiler-Installation ist davon aber völlig unabhängig.

[ - Antworten - Zitieren - Direktlink - ]

31.07.2005, 15:47 Uhr

Amaris
Posts: 941
Nutzer
@Dietmar:

Zitat:
Es gibt mittlerweile zahlreiche fertige gcc-Installationen, wieso nimmst Du nicht eine davon?!


Weil.....

Zitat:
Voraussetzungen: DSL für den Download (ist etwas grösser ) , ca. 400 MB Festplattenplatz für Maximalinstallation

....ich im Moment nur eine Festplatte mit 120 MB habe ! (siehe auch meine Signatur, unten)

Eine 4 GB-Platte will ich zwar demnächst einbauen, aber das wird noch etwas dauern.
Aber trotzdem danke für den Hinweis.


MfG
Amaris

--
-Amiga 1200 + Blizzard 1230 IV, 120MB HDD, externes CD-ROM


[ Dieser Beitrag wurde von Amaris am 31.07.2005 um 16:02 Uhr editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

31.07.2005, 17:12 Uhr

thomas
Posts: 7716
Nutzer

Versuch's mal mit vbcc. Da ist ein Installer-Script dabei, das dich fragt, wo die NDK-Includes sind und sie automatisch einbindet.

http://sun.hasenbraten.de/vbcc/


Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

31.07.2005, 17:55 Uhr

Amaris
Posts: 941
Nutzer
Zitat:
Versuch's mal mit vbcc. Da ist ein Installer-Script dabei,...


Leider:

"Unable to compile script. ERROR: invalid parameter for statement in line 94"


Ich kann mich dunkel erinnern, daß ich das schonmal versucht habe und den gleichen Fehler hatte.

*seufz*


--
-Amiga 1200 + Blizzard 1230 IV, 120MB HDD, externes CD-ROM

[ - Antworten - Zitieren - Direktlink - ]

31.07.2005, 18:04 Uhr

whose
Posts: 2156
Nutzer
@Amaris:

Klingt fast so, als hättest Du einen uralten Installer drauf oder daß das Script nicht mit dem von Dir verwendeten Installer klarkommt.

Hast Du InstallerNG auf Deinem System?

Für den GCC kann ich dir später ein kleines Listing zusammenstellen, welche Dateien sich wo im Verzeichnisbaum der GG-Installation befinden. Gültig für den GCC 3.4, sollte aber beim 2.95.3 das Gleiche sein. Ein klein wenig Geduld brauchst Du aber noch, weil ich derzeit nicht an meinem 4000er sitze ;)

Grüße

--
---

:boing: µA1 PPC 750GX-800
:boing: A4000 PPC 604e-233

[ - Antworten - Zitieren - Direktlink - ]

31.07.2005, 18:08 Uhr

Amaris
Posts: 941
Nutzer
@whose:

Zitat:
Hast Du InstallerNG auf Deinem System?

Tut mir leid, keine Ahnung. Sollte ich den haben ?
Ich kann dir nur sagen daß ich OS 3.9 drauf habe. Ich hab auch mal versucht die BoingBags zu installieren, da kam aber auch irgendein Fehler....ist aber schon mindestens 1 - 1,5 Jahre her. S

Zitat:
Für den GCC kann ich dir später ein kleines Listing zusammenstellen, welche Dateien sich wo im Verzeichnisbaum der GG-Installation befinden.

Das wäre wohl sehr hilfreich und wirklich nett. Die entsprechenden Einträge in der User-Startup wären auch toll.
Schonmal danke im Voraus wenn das klappen würde.


MfG
Amaris

--
-Amiga 1200 + Blizzard 1230 IV, 120MB HDD, externes CD-ROM

[ - Antworten - Zitieren - Direktlink - ]

31.07.2005, 18:25 Uhr

whose
Posts: 2156
Nutzer
Zitat:
Original von Amaris:
@whose:

Zitat:
Hast Du InstallerNG auf Deinem System?

Tut mir leid, keine Ahnung. Sollte ich den haben ?
Ich kann dir nur sagen daß ich OS 3.9 drauf habe. Ich hab auch mal versucht die BoingBags zu installieren, da kam aber auch irgendein Fehler....ist aber schon mindestens 1 - 1,5 Jahre her. S


Nein, den InstallerNG _mußt_ Du nicht da drauf haben. Der hat hin und wieder aber schon mal Probleme mit dem einen oder anderen Script, weil er nicht 100% kompatibel zum Commodore-Installer ist. Deswegen die Frage.

Genauso verhält es sich, wenn Du eine Uralt-Version des Commodore-Installers auf Deinem System hast.

Such doch bitte einmal auf der OS3.9-CD nach dem Installer und kopiere diesen nach SYS:Utilities und starte dann nochmal das VBCC-Installationsscript. Normalerweise müßte es dann tun.

Zitat:
Zitat:
Für den GCC kann ich dir später ein kleines Listing zusammenstellen, welche Dateien sich wo im Verzeichnisbaum der GG-Installation befinden.

Das wäre wohl sehr hilfreich und wirklich nett. Die entsprechenden Einträge in der User-Startup wären auch toll.
Schonmal danke im Voraus wenn das klappen würde.


Mußt Dich halt nur noch etwas gedulden. Gegen 20:00 müßte ich wieder an meinem 4000er sitzen können, dann versuch ich mal auf die Schnelle eine kleine Installationsanleitung zu bauen (also was man alles braucht und wo das hin muß).

Die Assigns und path-Anweisungen für die user-startup gehören logischerweise auch dazu, ohne tut der GCC nämlich nicht.

Hast Du Dir eigentlich mal das GeekGadgets-Projekt näher angesehen? Da gibt es bereits ein kleines Installer-Script, welches auch die notwendigen Assigns und path vornimmt.

Ein kleiner Trost: Das ich den GCC 3.4 ans Laufen bekommen habe, war auch mehr oder weniger dem Zufall zu verdanken. Ich stieß eben zufällig auf eine Seite, wo stand, welches Paket mir noch fehlte I-)

Der GCC ist da manchmal etwas... undurchsichtig, was die Komponenten betrifft. Es steht zwar überall, wo der GCC hin muß und auf welchen Pfaden der seinen Standard-Kram sucht, wie man das aber entsprechend einrichtet, wenn was dazu installiert werden soll, steht nirgendwo.

Manchmal habe ich das Gefühl, daß man als Software-Entwickler auf Unix-Art geboren worden sein muß, um diesen einmaligen Compiler überhaupt benutzen zu dürfen.

Anders kann ich mir diese ewig wiederkehrenden Installationsprobleme jedenfalls nicht mehr erklären. RTFM hilft einem da auch nicht wirklich weiter, und wenn die Gurus unter uns das tausendmal wiederholen...

Da muß man Dietmar ganz besonders danken, dessen Komplettinstallationen einem diese Sorgen endlich abnehmen. Dumm ists nur, wenn man nicht so viel Platz auf der Festplatte hat :D

Trotzdem: Danke für Deine Mühen mit der GCC-Installation, Dietmar. Ich habs bei mir mal installieren lassen, ging alles einwandfrei und war vor allem _vollständig_.

Dietmars Compilerpaket kann ich wirklich nur empfehlen, vorausgesetzt, man hat genug Platz auf der Pladde I-)

Grüße

--
---

:boing: µA1 PPC 750GX-800
:boing: A4000 PPC 604e-233

[ - Antworten - Zitieren - Direktlink - ]

31.07.2005, 18:32 Uhr

Dietmar
Posts: 166
Nutzer
@Amaris:
Zitat:
Tut mir leid, keine Ahnung. Sollte ich den haben?
Nein, InstallerNG solltest Du nicht verwenden und, falls installiert, wirder durch den Original-Installer ersetzen. Gib in einem Shell-Window ein:
code:
installer

Dann sollte angezeigt werden: Installer 44.10 ... (oder eine neuere Version). 44.10 findest Du beispielsweise im OS3.9 SDK. Es kann auch sein, dass auf Deinem System mehrere verschiedene Installer installiert sind, z.B. einer in c: und einer in sys:tools und einer in sys:utilities. Dann könnten von Zeit zu Zeit Probleme auftreten, je nachdem welcher gerade benutzt wird. Alle bis auf einen (im Pfad) löschen.

[ - Antworten - Zitieren - Direktlink - ]

31.07.2005, 18:40 Uhr

Amaris
Posts: 941
Nutzer
Zitat:
Es kann auch sein, dass auf Deinem System mehrere verschiedene Installer installiert sind, z.B. einer in c: und einer in sys:tools und einer in sys:utilities.

Es scheint so.

Gebe ich in DH0: installer ein, erscheint "installer_2 2.15 (3.8.92)"
In DH0:C> erscheint dasselbe
In DH0:Utilities erscheint jedoch "installer 44.10 (1.10.99)"


--
-Amiga 1200 + Blizzard 1230 IV, 120MB HDD, externes CD-ROM


EDIT:

Es lag tatsächlich daran. Ich hab den alten Installer in C: zwar nicht gelöscht (sicher ist sicher) sondern umbenannt......und siehe da, der Fehler bei vbcc ist verschwunden.
Danke für den Tip.

Werd vbcc jetzt mal versuchen zu installieren. Der GCC wäre mir allerdings trotzdem lieber, vbcc kann ja scheinbar nur C kompilieren. Allerdings bin ich C++ gewohnt.

[ Dieser Beitrag wurde von Amaris am 31.07.2005 um 18:57 Uhr editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

31.07.2005, 19:19 Uhr

Amaris
Posts: 941
Nutzer
So....die Probleme gehen weiter. Hab vbcc installiert, hat jetzt auch problemlos geklappt.

Nun sagt er aber beim Kompilieren er könne die stdio.h nicht finden !
Die ist aber vorhanden, eben da wo sie der Installer hinkopiert hat.
*kopfschüttel* :angry:

EDIT:

Versuche ich:

vbccm68k hello.c

dann bekomme ich obige Meldung

Versuche ich:

vc hello.c -o hello

dann bekomme ich jedesmal einen Guru (8100005)


--
-Amiga 1200 + Blizzard 1230 IV, 120MB HDD, externes CD-ROM


[ Dieser Beitrag wurde von Amaris am 31.07.2005 um 19:57 Uhr editiert. ]

[ Dieser Beitrag wurde von Amaris am 31.07.2005 um 20:06 Uhr editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

31.07.2005, 20:53 Uhr

Dietmar
Posts: 166
Nutzer
@Amaris:
Zitat:
vc hello.c -o hello
Das sollte fast funktionieren. Wenn es das Hello-Beispiel von oben ist, dann fehlt noch -lamiga und es wird bei mir fehlerfrei übersetzt (vbcc braucht nicht viel Stack für so etwas, aber gib ihm trotzdem mal 64 KB):

stack 64000
vc main.c -lamiga -o test

Zitat:
dann bekomme ich jedesmal einen Guru (8100005)
Auf alten, unaufgeräumten Systemen, auf denen sich viel zweifelhafte Software angesammelt hat, kann alles mögliche einen Guru 8100005 (corrupted memory list) erzeugen. Teste dein System mit enforcer, mungwall und sushi, d.h. lass diese Tools eine Zeit lang mitlaufen, um potentielle Übeltäter zu finden.

[ Dieser Beitrag wurde von Dietmar am 31.07.2005 um 20:59 Uhr editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

31.07.2005, 21:22 Uhr

Amaris
Posts: 941
Nutzer
@Dietmar:

Auf die "komische Zeile" kam ich durch Vermutung :D
Ich hatte das Manual noch nicht gelesen und vermutete daß vbccm68k der Aufruf des Compilers wäre um 68k-Code zu erzeugen.
Ich gab also "vbccm68k hello.c -o hello" bzw. auch "vbccm68k hello.c hello" ein
Es kam die Meldung daß man keine zwei Input-Files eingeben solle !
Daher versucht ich eben "vbccm68k hello.c"

Erst danach habe ich das Manual (http://www.ibaug.de/vbcc/doc/vbcc.pdf) gelesen. Da stand dann als Beispiel:
"vc hello.c -o hello"

Das gab ich ein und bekam den Guru.

Hab es jetzt auf deine Weise versucht, also
nach dem Muster "stack 64000 vc main.c -lamiga -o test"

Funktioniert tatsächlich!

So, jetzt läuft vbcc also endlich. Danke für die Hilfe.
Wenn ich den GCC allerdings nicht zum Laufen bekomme, dann werde ich mir diese "Developer CD" von Vesalia bestellen und "StormC" installieren, sobald ich meine neue Festplatte habe. Denn eigentlich programmiere ich lieber C++

MfG
Amaris


--
-Amiga 1200 + Blizzard 1230 IV, 120MB HDD, externes CD-ROM

[ - Antworten - Zitieren - Direktlink - ]

31.07.2005, 22:28 Uhr

whose
Posts: 2156
Nutzer
Zitat:
Original von Amaris:

So, jetzt läuft vbcc also endlich. Danke für die Hilfe.
Wenn ich den GCC allerdings nicht zum Laufen bekomme, dann werde ich mir diese "Developer CD" von Vesalia bestellen und "StormC" installieren, sobald ich meine neue Festplatte habe. Denn eigentlich programmiere ich lieber C++


Entschuldige die Verspätung, es kam noch etwas dazwischen.

Für C++ solltest Du den StormC3, wie er auf der DeveloperCD drauf ist, besser nicht einsetzen, außer Du hast kein Interesse daran, "modernes" C++ zu programmieren I-) Da ist der StormC4 deutlich besser geeignet, weil der den GCC 2.95.2 statt des H&P-eigenen StormC3 einsetzt.

Zum GCC, soweit ich den durchblicken kann :D :

Das sind die Assigns und Path-Zuweisungen, wie sie der GCC-Installer setzt.
Sind aber der Standard des GG-Projekts.

;BEGIN GCC Installer
assign GG: GNU:GG
assign LIBS: GG:Sys/libs add
path GG:bin add
assign BIN: gg:bin
assign USR: GG:
assign TMP: T:
assign ETC: GG:etc
assign MAN: GG:man
;END GCC Installer

Den Pfad zu den Includes legt man mittels des Schalters -I fest, wenn man zusätzlich zum Standard-Includeverzeichnis z.B. das des jeweilige Projekts benutzen möchte. Dafür gibts normal keinen Assign bzw. das ist im GCC festgelegt.

Für die Amiga-OS-Includes gibts normal das Verzeichnis "os-include". Da sollte man die Includes des 3.9-SDK reinkopieren (zumindest ging das mit den 3.5er Includes problemlos, weil die auf den GCC Rücksicht nahmen. Das sollte bei den 3.9ern auch der Fall sein, also müßte normales hineinkopieren reichen). Beachte dabei, wie die Includeverzeichnisse aufgebaut sind. Dazu steht auch im INSTALL Dokument etwas.

Wenn Du nur den GCC installieren willst, solltest Du die
GeekGadgets-Base-Installation als erstes installieren und die Assigns wie oben angegeben in die user-startup eintragen. Nach dem nächsten Booten reicht es, die Pakete des GCC (z.B. "gcc-2.95.3-base.tgz" oder "gcc-2.95.3-3-bin.tar", es gibt natürlich auf GeekGadgets auch die jeweiligen Pakete für den GCC 3.4.0, da funktioniert die Installation genauso) mittels "tar -xzf DATEINAME" nach GG: zu entpacken (also nach GG: wechseln und den tar-Befehl wie oben mit dem entsprechenden Pfad/Dateinamen eingeben).

Zusätzlich brauchst Du noch andere Pakete.

In der GeekGadgets INSTALL ist das alles beschrieben, allerdings auf Englisch. Die Pakete, die dort aufgeführt sind, brauchst Du unbedingt für eine lauffähige GCC-Installation (mußt aber nicht alle auf einmal installieren, es geht auch, wenn Du die Pakete Schritt für Schritt herunterlädst und sie installierst).

Ich kann Dir aber leider nicht sagen, ob Du da mit 120MB Plattenplatz klarkommst nach der Installation aller Pakete, hier bei mir belegt der ganze Krempel (inklusive der .tar und .tgz, welche knapp 150 MB belegen und die ich nicht gelöscht habe nach dem Entpacken) 290MB.

Wenn Du die tar und tgz abziehst, bleiben ~140MB, wobei ein Teil (vermutlich knapp 40MB) auf eine "Mehrinstallation" zurückgeht (habe noch ein paar zusätzliche Pakete draufgeschmissen).

Die GeekGadgets-Klamotten findest Du unter http://gg.portail-e.com




Sollte ich hier was Falsches sagen, hoffe ich, daß Dietmar mich korrigiert. Ich blicke die Struktur des lauffähigen GCC selbst nicht wirklich, das ist nur das, was ich mir zusammengereimt habe I-)

Wahlweise kannst Du auch mal den aktuellen GCC-Installer ausprobieren, nach dem Link müßtest Du mal die Suchfunktion hier befragen, den habe ich gerade nicht parat. Ist allerdings auch ein ziemlich riesiges Paket, das könnte Probleme mit dem PLattenplatz geben. Von evtl vorhandenen Fehlern des Installscripts ganz zu schweigen. Die erste Version war jedenfalls ziemlich fehlerhaft, die dritte (1.2, wenn ich mich recht erinnere) funktionierte hier bei mir aber.

Grüße

Edit: Bei den Assigns oben die Zeile "Assign GG: GNU:GG", da ist "GNU:" der Name der Partition, auf die ich das Zeugs kopiert habe. Bei Dir also "Work:" "DH1:" oder was gerade der Name Deiner Partition ist, einsetzen.

--
---

:boing: µA1 PPC 750GX-800
:boing: A4000 PPC 604e-233


[ Dieser Beitrag wurde von whose am 31.07.2005 um 22:35 Uhr editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

31.07.2005, 22:52 Uhr

whose
Posts: 2156
Nutzer
@Amaris:

Ich hätts fast vergessen:

Die Sache mit dem "-lamiga" als Parameter existiert beim GCC auch. Damit bindest Du die Compiler-Bibliothek "amiga.lib" ein, welche für bestimmte Funktionen benötigt wird.

Grüße

--
---

:boing: µA1 PPC 750GX-800
:boing: A4000 PPC 604e-233

[ - Antworten - Zitieren - Direktlink - ]

31.07.2005, 22:52 Uhr

Amaris
Posts: 941
Nutzer
@whose:

Danke für deine Mühe.....hmmm, nunja, wie gesagt bekomme ich demnächst eine größere Festplatte (4 GB). Wenn ich danach wieder alles zum Laufen bekomme, könnte ich mir eigntlich auch die Sachen von Dietmar herunterladen.

Allerdings....
Zitat:
Für C++ solltest Du den StormC3, wie er auf der DeveloperCD drauf ist, besser nicht einsetzen, außer Du hast kein Interesse daran, "modernes" C++ zu programmieren. Da ist der StormC4 deutlich besser geeignet, weil der den GCC 2.95.2 statt des H&P-eigenen StormC3 einsetzt.

StormC4 ist eben "etwas"...teuer.
Außerdem, was verstehst du unter modernem C++ ? Ich bin eigentlich noch ganz am Anfang. Ich hab irgendwann im Februar überhaupt erst begonnen mich mit C++ zu beschäftigen. Vorher hatte ich nur mit ein bißchen BASIC zu tun. Ich bin nicht sicher ob ich bei meinem äußerst beschränkten Kenntnisstand überhaupt einen Unterschied zwischen den Compilern bemerken kann.

So...jetzt reicht es für heute mit der Computerei.
Gute N8,
Amaris


--
-Amiga 1200 + Blizzard 1230 IV, 120MB HDD, externes CD-ROM


[ Dieser Beitrag wurde von Amaris am 31.07.2005 um 22:55 Uhr editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

31.07.2005, 22:57 Uhr

whose
Posts: 2156
Nutzer
Zitat:
Original von Amaris:
@whose:

Danke für deine Mühe.....hmmm, nunja, wie gesagt bekomme ich demnächst eine größere Festplatte (4 GB). Wenn ich danach wieder alles zum Laufen bekomme, könnte ich mir eigntlich auch die Sachen von Dietmar herunterladen.

Allerdings....
Zitat:
Für C++ solltest Du den StormC3, wie er auf der DeveloperCD drauf ist, besser nicht einsetzen, außer Du hast kein Interesse daran, "modernes" C++ zu programmieren. Da ist der StormC4 deutlich besser geeignet, weil der den GCC 2.95.2 statt des H&P-eigenen StormC3 einsetzt.

StormC4 ist eben "etwas"...teuer.
Außerdem, was verstehst du unter modernem C++ ? Ich bin eigentlich noch ganz am Anfang. Ich hab irgendwann im Februar überhaupt erst begonnen mich mit C++ zu beschäftigen. Vorher hatte ich nur mit ein bißchen BASIC zu tun. Ich bin nicht sicher ob ich bei meinem äußerst beschränkten Kenntnisstand überhaupt einen Unterschied zwischen den Compiler bemerken kann.


Naja, den StormC4 bekommt man schon recht günstig inzwischen... 49,90 ist das Letzte, an das ich mich erinnern kann (ich habe den damals noch zum vollen Preis erworben).

Unter "modernem" C++ versteht man bspw. die Benutzung der "Standard Template Library", kurz STL. Die kann der StormC3 nicht verwursten. Für den StormC4-GCC gibts eine aktuelle, angepaßte Version der STL, mit dem GCC 3.4 kannst Du die Standard-Version problemlos einsetzen.

Da Du allerdings noch ganz am Anfang bist, langt der StormC3 sicherlich. Die "Basics" kann der ja problemlos, nur einige "Spezialitäten" beherrscht er nicht oder nicht perfekt.

Vielleicht klappts ja jetzt auch mit dem GCC bei Dir, dann ist das Problem ja kein Problem mehr :D

Grüße

--
---

:boing: µA1 PPC 750GX-800
:boing: A4000 PPC 604e-233

[ - Antworten - Zitieren - Direktlink - ]

01.08.2005, 10:11 Uhr

Solar
Posts: 3680
Nutzer
Zitat:
Original von whose:

Da Du allerdings noch ganz am Anfang bist, langt der StormC3 sicherlich. Die "Basics" kann der ja problemlos, nur einige "Spezialitäten" beherrscht er nicht oder nicht perfekt.


<vector> und <string> würde ich nicht als "Spezialitäten" bezeichnen... :shock2:

[ - Antworten - Zitieren - Direktlink - ]

01.08.2005, 11:07 Uhr

whose
Posts: 2156
Nutzer
Zitat:
Original von Solar:
Zitat:
Original von whose:

Da Du allerdings noch ganz am Anfang bist, langt der StormC3 sicherlich. Die "Basics" kann der ja problemlos, nur einige "Spezialitäten" beherrscht er nicht oder nicht perfekt.


<vector> und <string> würde ich nicht als "Spezialitäten" bezeichnen... :shock2:


Bitten nicht mit dem Rohrstock hauen :D , aber sind das nicht "Container" der STL?

Grüße

--
---

:boing: µA1 PPC 750GX-800
:boing: A4000 PPC 604e-233

[ - Antworten - Zitieren - Direktlink - ]

01.08.2005, 11:41 Uhr

gni
Posts: 1106
Nutzer
Zitat:
DariusBrewka:
eigentlich brauchst du auch nichts in die User startup und so eintragen nur ein "Path GG:bin add" sollte reichen, den rest erledigt gcc relativ zu diesem pfad.

Nein, dh. GCC 3.x sucht teilweise relativ von der Stelle an der sich sein Frontend befindet.
Zitat:
die os-includes gehören AFAIK nach gg:os-includes
Richtig. Demnächst usr:os-include ;-)
Zitat:
die linker-libs nach gg:os-lib
Nein. Die 68k-Bibliotheken gehören allesamt nach gg:m68k-amigaos/lib. Demnächst usr:local/m68k-amigos/lib.
Zitat:
du musst aber noch aus den fd files für den GCC die richtigen inlines machen,ich hab's mit fd2pragma gemacht aber AFAIK gibt's beim gcc irgendwo das Commando fd2inline.
Ausser den Inline brauchts auch noch passende proto/ Header, damit die Inlines auch benutzt werden. Ob man nun fd2pragma verwendet oder fd2inline ist egal.
Zitat:
Ich kenne das Problem aber auch, in den Installationsanleitungen steht dass die includes da und da hingehören, klappen tut's aber nie
Oh doch!
Zitat:
und wenn dem so ist, kannst du auch beim Compilieren den Pfad zu den Includes angeben "gcc .... text.c -Iincludepfad -Llinklibpfad", dass hat immer geklappt.

Das gesagte gilt für gcc 2.95, bei 3.x hat's bei mir aber auch nicht mehr geklappt.

Was hat nicht mehr geklappt? 3.x verwendet die selben Include- und Bibliotheksverzichnisse 2.x.

[ - Antworten - Zitieren - Direktlink - ]

01.08.2005, 11:43 Uhr

gni
Posts: 1106
Nutzer
Zitat:
whose:
Für den GCC kann ich dir später ein kleines Listing zusammenstellen, welche Dateien sich wo im Verzeichnisbaum der GG-Installation befinden. Gültig für den GCC 3.4, sollte aber beim 2.95.3 das Gleiche sein.

2.95.x und 3.4 unterscheiden sich im Verzeichnislayout.

[ - Antworten - Zitieren - Direktlink - ]

01.08.2005, 12:48 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von whose:
Zitat:
Original von Solar:
<vector> und <string> würde ich nicht als "Spezialitäten" bezeichnen... :shock2:

Bitten nicht mit dem Rohrstock hauen :D , aber sind das nicht "Container" der STL?
Das ist nicht der Punkt. Wenn Du ein aktuelles "C++ für Anfänger" Buch aufschlägst, wirst Du ziemlich schnell darüber stolpern. So wie halt auch jedes "HelloWorld" Elemente enthält, die erst später im Detail erklärt werden, so wird die STL in ihrer kompletten Funktionsweise wahrscheinlich erst sehr spät erklärt. Aber das "wie mache ich ... mit Strings" wird trotzdem schon sehr früh auf <string> zurückgreifen. Weil alles andere für Anfänger ja *noch viel komplizierter* wäre.

Apropos HelloWorld. Spätestens da ist IMHO schon Schluß mit StormC 3, wenn der NameSpace std verwendet wird.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

01.08.2005, 12:50 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von gni:
Zitat:
DariusBrewka:
eigentlich brauchst du auch nichts in die User startup und so eintragen nur ein "Path GG:bin add" sollte reichen, den rest erledigt gcc relativ zu diesem pfad.

Nein, dh. GCC 3.x sucht teilweise relativ von der Stelle an der sich sein Frontend befindet.
welches doch in GG:bin zu finden sein sollte, oder? Dann wär's letztendlich trotzdem relativ zu diesem Pfad.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

01.08.2005, 12:55 Uhr

Amaris
Posts: 941
Nutzer
@Holger:

Zitat:
<vector> und <string> würde ich nicht als "Spezialitäten" bezeichnen...


Zitat:
Apropos HelloWorld. Spätestens da ist IMHO schon Schluß mit StormC 3, wenn der NameSpace std verwendet wird.

Ähm...verstehe ich das richtig ? Programme wie etwa....


#include <iostream>
#include <string>
using namespace std;

int main()
{
string test;
cin>>test>>endl;
cout<<test<<endl;
return 0;
}

....funktionieren nicht ?


Dann wäre StormC3 wohl wirklich ziemlich für die Tonne.










--
-Amiga 1200 + Blizzard 1230 IV, 120MB HDD, externes CD-ROM

[ - Antworten - Zitieren - Direktlink - ]

01.08.2005, 13:01 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von Amaris:
Ähm...verstehe ich das richtig ? Programme wie etwa....

#include <iostream>
#include <string>
using namespace std;

int main()
{
string test;
cin>>test>>endl;
cout<<test<<endl;
return 0;
}

....funktionieren nicht ?

Meines Wissens nicht.
Zitat:
Dann wäre StormC3 wohl wirklich ziemlich für die Tonne.
Es ist halt älter als der Standard. Und daß die Entwickler sich statt für die Weiterentwicklung des Compilers für eine Adaption von gcc entschieden haben, sagt doch schon alles, oder?
Es ist eben nicht einfach, einen C++ Compiler zu entwickeln und zu pflegen.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

01.08.2005, 13:02 Uhr

Dietmar
Posts: 166
Nutzer
@gni:
Zitat:
Demnächst usr:local/m68k-amigos/lib.
Bezieht sich "demnächst" auf adltools und falls ja: auf welche gcc-Version für 68k kann man hoffen?

[ - Antworten - Zitieren - Direktlink - ]

01.08.2005, 13:05 Uhr

DariusBrewka
Posts: 899
[Benutzer gesperrt]
Zitat:
Was hat nicht mehr geklappt? 3.x verwendet die selben Include- und Bibliotheksverzichnisse 2.x.

das compilieren ohne einen Pfad zu den Includes expilzit anzugeben (-I...), bei GCC2.9 von geekgadgets hat das alles auf anhieb geklappt bei 3.x hat er immer gemeckert das er die Includes nicht findet.

Wie dem auch sei, inzwischen werde ich meine Amiga-Programme nur noch unter Linux compilieren, da stand auch in der Installationsanleitung os includes nach /opt/gg/os-include/amigaos, aber weder das hat geklappt noch /opt/gg/os-include.

Nicht schlagen, ich kenne mich mit linux nicht aus und habe es vor ca. 2 Wochen installiert und es hat mir mein Windows zerstört, war aber im nachinein gesehen ganz gut so.


[ - Antworten - Zitieren - Direktlink - ]

01.08.2005, 13:41 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Holger:
Zitat:
gni:
Nein, dh. GCC 3.x sucht teilweise relativ von der Stelle an der sich sein Frontend befindet.

welches doch in GG:bin zu finden sein sollte, oder? Dann wär's letztendlich trotzdem relativ zu diesem Pfad.
Wie gesagt: teilweise. Das Frontend _vesucht_ den Compiler, einige der Include- und Bibliotheksverzeichnisse so zu finden. Man kann sich das mit -v anschauen.

[ - Antworten - Zitieren - Direktlink - ]

01.08.2005, 13:52 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Dietmar:
@gni:
Zitat:
Demnächst usr:local/m68k-amigos/lib.
Bezieht sich "demnächst" auf adltools
Vorerst nicht. Dessen Repository enthält zu viel Ballast IMHO.
Zitat:
und falls ja: auf welche gcc-Version für 68k kann man hoffen?
Welche möchtest Du haben? ;-) Wenn ich endlich die Zeit finde, dann habe ich vor folgendes zu veröffentlichen:

2.95.4: m68k, PowerUp, WarpOS
3.3.6, 3.4.3, 4.0.x, 4.1.x: m68k, PowerUp

Keiner dieser Versionen wird mehr gg: sondern usr:local verwenden. Aus gg:[os-]include wird usr:[os-]include. Da aber gg: == usr: ist das nicht weiter tragisch. Das spezielle GG Layout war IMHO ein böser Fehler. Der 2.95.4 Port existiert deshalb, weil es den WarpOS-GCC bisher nur für diese Version gibt und da wollte ich es vollstäding haben (Der erzeugte Code von 2.95.4 ist identisch zu 2.95.3).
Es gibt aber keinen definitiven Zeitpunkt.

[ - Antworten - Zitieren - Direktlink - ]


-1- 2 [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > GCC installieren [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.