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

amiga-news.de Forum > Programmierung > C++ mit GoldED AIX ? [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

06.08.2005, 15:27 Uhr

Amaris
Posts: 941
Nutzer
Hallo

Da auf meiner neuen Festplatte nun alles läuft wie es soll, habe ich gestern mal "GoldED AIX" sowie das Compiler-Paket heruntergeladen und installiert.
Ich möchte nun ein Programm in C++ erstellen und irgendwie bekomme ich es nicht so recht hin....entweder bin ich mal wieder blind oder die Dokumentation ist etwas spärlich.

Ich mache Folgendes:

- Ich wähle "C / C++ Quelltext"
- Dann den Compiler GCC 2.95
- "Neues Projekt anlegen"

Irgendwann habe ich dann die Wahl zwischen "ANSI C" , "Amiga Projekt" und "Abbrechen"

Wähle ich "ANSI C" dann erscheint ein kleiner "Hello World"-Quelltext in normalem C. Kompiliert wird dann eben mit GCC. Das funktioniert auch. Aber was muß ich machen um ein C++ Projekt zu bekommen und "GoldED AIX" dazu zu bringen mit g++ statt gcc zu kompilieren ?
Leider kann ich auch in der Hilfe dazu nichts finden.

MfG
Amaris



--
-Amiga 1200, 68030 @ 50 Mhz, 4 GB HDD, 16 MB RAM, externes PCMCIA-CD-ROM-Laufwerk

[ - Antworten - Zitieren - Direktlink - ]

06.08.2005, 15:44 Uhr

Dietmar
Posts: 166
Nutzer
@Amaris:
> Das funktioniert auch. Aber was muß ich machen um ein C++ Projekt zu bekommen und "GoldED AIX" dazu zu bringen mit g++ statt gcc zu kompilieren?

Alle angelegte Projekte sind C-Projekte. Um aus einem C-Projekt ein C++-Projekt zu machen, musst Du im Makefile an der richtigen Stelle (Compile/Link-Befehl) gcc durch g++ ersetzen. Das Makefile kannst Du am schnellsten über den Projekt-Explorer neben dem Text laden, es wird auf der dritte Seite angezeigt. Nach der Änderung sieht es etwa so aus, achte auf g++:

code:
# makefile for GNU make (automatically generated by makemake)
# NOTE: indent with TAB in GNU makefiles!

# paths are relative to the project directory (current directory during make)

EXE    = bin/gcc-classic-stable/unbenannt
OBJDIR = o/gcc-classic-stable/

# target 'all' (default target)

all : $(EXE)

$(OBJDIR)main.o : main.c
	g++ $(shell gccprefs) -c -o $(OBJDIR)main.o main.c

OBJS = $(OBJDIR)main.o

$(EXE) : $(OBJS)
	g++ $(OBJS) $(shell gccprefs) -o $(EXE)

# target 'strip'

strip:
	strip --remove-section=.comment $(EXE)

# target 'clean'

clean:
	-delete $(EXE)
	-delete $(OBJDIR)*.o


Wenn Du nur C++-Projekte anlegst, könntest Du in der Datei "devkits:devkits.config" die Zeilen mit den Compile/Link-Kommandos in der gleichen Art ändern (d.h. gcc -> g++).

Ausserdem bietet es sich für C++-Projekte an, die Seite mit den C++-Projekt-Optionen zu besuchen: Klick auf das Optionen-Häkchen in der Symbolleiste, dann "Language Options" (die C++-Optionen stehen auf der zweiten Seite).

[ - Antworten - Zitieren - Direktlink - ]

06.08.2005, 16:20 Uhr

Amaris
Posts: 941
Nutzer
@Dietmar:

Ja, klappt jetzt prima. Danke für die Hilfe!

MfG
Amaris

--
-Amiga 1200, 68030 @ 50 Mhz, 4 GB HDD, 16 MB RAM, externes PCMCIA-CD-ROM-Laufwerk

[ - Antworten - Zitieren - Direktlink - ]

09.08.2005, 23:29 Uhr

Dietmar
Posts: 166
Nutzer
Zitat:
könntest Du in der Datei "devkits:devkits.config" die Zeilen mit den Compile/Link-Kommandos in der gleichen Art ändern (d.h. gcc -> g++).
In der neuen Version 4.4 (anlässlich der Integration von vbcc 0.8i) kann man übrigens bei der Projekterzeugung zwischen C und C++ wählen. Änderungen in der Konfigurationsdatei wie oben vorgeschlagen machen damit keinen Sinn mehr.

[ - Antworten - Zitieren - Direktlink - ]

10.08.2005, 19:05 Uhr

Amaris
Posts: 941
Nutzer
@Dietmar:

Ui, wieder soviel runterladen und entpacken. Dauerte beim letzten Mal schon ewig (vor allem das Entpacken). Danke für den Hinweis, mal schauen ob ich morgen Zeit habe.

MfG
Amaris

--
-Amiga 1200, 68030 @ 50 Mhz, 4 GB HDD, 16 MB RAM, externes PCMCIA-CD-ROM-Laufwerk

[ - Antworten - Zitieren - Direktlink - ]

10.08.2005, 19:46 Uhr

Dietmar
Posts: 166
Nutzer
@Amaris:
Zitat:
Ui, wieder soviel runterladen und entpacken. Dauerte beim letzten Mal schon ewig (vor allem das Entpacken).
Du brauchst dieses Update nicht, beim von Dir verwendeten gcc ist alles beim Alten geblieben. Das nächste für Dich interessante Update dürfte kommen, wenn es die von gni angekündigten neuen 68k-gcc-Versionen gibt (gcc 4.x).

[ - Antworten - Zitieren - Direktlink - ]

11.08.2005, 11:35 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Dietmar:
Das nächste für Dich interessante Update dürfte kommen, wenn es die von gni angekündigten neuen 68k-gcc-Versionen gibt (gcc 4.x).

Ich habe gestern einen mpega_libmad Test gemacht. Dabei habe ich die Bibliothek für PowerUp mit verschiedenen Compilern erstellt: 3.3.3, 3.4.3, 4.0.0 und 4.1.0/20050805. Im Test war die Version von 3.4.3 am schnellsten, die 4.x Versionen waren merklich langsamer, aber das mag für andere Programme anders aussehen. Dennoch denke ich, das 4.x derzeit nur verbesserte Fehler- und Warnmeldungen bietet.

[ - Antworten - Zitieren - Direktlink - ]

11.08.2005, 12:20 Uhr

Dietmar
Posts: 166
Nutzer
@gni:
Gibt es eine Chance, dass Du 3.4.3 in den nächsten Tagen zusammenstellst/veröffentlichst? Ich werde heute einen neuen morphos-gcc von Marcin Kurek integrieren (nicht wirklich neu, habe den 2.95.4-4-altivec Release im Juli übersehen). Wenn Du mit 3.4.3 in nächster Zeit fertig wirst, würde ich diese Version gerne mit in das nächste Update nehmen.

[ - Antworten - Zitieren - Direktlink - ]

11.08.2005, 12:38 Uhr

Mazze
Posts: 263
Nutzer
Hi,

ich arbeite mit der C/C++-Umgebung von GoldED. In der Hoffnung, Fehler aufzudecken, wechsle ich öfters mal zwischen vbcc und gcc. Ich habe jetzt das Problem, dass beim Kompilieren mit gcc folgende Fehlermeldung angezeigt wird: "undefined reference to AllocChooserNode".
Es fehlen offenbar die Funktionen, die seit OS3.5 hinzugekommen sind. Bitte beim nächsten Update berücksichtigen.
--
Meine Homepage

[ - Antworten - Zitieren - Direktlink - ]

11.08.2005, 13:13 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Mazze:
Ich habe jetzt das Problem, dass beim Kompilieren mit gcc folgende Fehlermeldung angezeigt wird: "undefined reference to AllocChooserNode". Es fehlen offenbar die Funktionen, die seit OS3.5 hinzugekommen sind.

Nimm "AllocChooserNodeA", schreib "AllocChooserNode()" selber oder verwenden eine andere amiga.lib.
Zitat:
Bitte beim nächsten Update berücksichtigen.
Da ich nicht glaube, das Dietmar die amiga.lib für den GCC selber erstellt, wird sich da wohl nichts ändern.

[ - Antworten - Zitieren - Direktlink - ]

11.08.2005, 13:34 Uhr

Dietmar
Posts: 166
Nutzer
@Mazze:
Zitat:
Es fehlen offenbar die Funktionen, die seit OS3.5 hinzugekommen sind.
Sicher nicht: Das SDK ist für OS3.9. Bei mir funktionieren sowohl AllocChooserNode() als auch AllocChooserNodeA() problemlos (Übersetzen ohne Fehlermeldung). Wenn Deine C++-Umgebung älter ist, würde ich auf Verdacht hin ein Update auf das C/C++ Paket 4.4 machen. Was besseres fällt mir nicht ein.

[ - Antworten - Zitieren - Direktlink - ]

11.08.2005, 13:43 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Dietmar:
Gibt es eine Chance, dass Du 3.4.3 in den nächsten Tagen zusammenstellst/veröffentlichst?

Für m68k? Für die neuen Versionen sollte man dann auch passende binutils haben. Die müßte ich auch noch erstellen. Leider macht mir 3.4.3 bei PPC etwas Schwierigkeiten. Das möchte ich erst noch genauer untersuchen.
Zitat:
Ich werde heute einen neuen morphos-gcc von Marcin Kurek integrieren (nicht wirklich neu, habe den 2.95.4-4-altivec Release im Juli übersehen).
Wo kann man die finden? Sind diesmal die diffs dabei? Ohne die hast Du Probleme...
Zitat:
Wenn Du mit 3.4.3 in nächster Zeit fertig wirst, würde ich diese Version gerne mit in das nächste Update nehmen.
Ich kann wirklich keinen genauen Termin nennen :-(

[ - Antworten - Zitieren - Direktlink - ]

11.08.2005, 14:00 Uhr

Dietmar
Posts: 166
Nutzer
@gni:
Zitat:
Für m68k?
Ja.

Zitat:
Wo kann man die finden? Sind diesmal die diffs dabei? Ohne die hast Du Probleme...
http://www.tbs-software.com/morgoth, keine diffs.

Zitat:
Ich kann wirklich keinen genauen Termin nennen :-(
Ok, when it's done.

[ - Antworten - Zitieren - Direktlink - ]

11.08.2005, 20:15 Uhr

Mazze
Posts: 263
Nutzer
Hi,

es spielt eine Rolle, ob man NO_INLINE_STDARG verwendet. Ohne den Define klemmt es an einer anderen Stelle.

Auf Link ist beschrieben, wie man eine libamiga.a erzeugen kann. Ich habe die erste Möglichkeit mit der amiga.lib aus dem NDK3.9 auspropiert. Bei "ranlib ..." bekommen ich den Fehler "Malformed Archive".

Die 2. Möglichkeit kann ich im Moment nicht ausprobieren, da Geekgadgets nicht funktioniert.
Sobald das wieder geht, könnte ich mal versuchen, eine aktuelle libamiga.a zu erzeugen.

Aber das ist nicht so dringend. Ich wollte eigentlich nur sehen, welche Meldungen beim GCC mit -W -Wall angezeigt werden.

--
Meine Homepage

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > C++ mit GoldED AIX ? [ - Suche - Neue Beiträge - Registrieren - Login - ]


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