amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > C++ mit GoldED AIX ? [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2005-08-06, 15:27 h

Amaris
Posts: 941
User
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

[ - Answer - Quote - Direct link - ]

2005-08-06, 15:44 h

Dietmar
Posts: 166
User
@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).

[ - Answer - Quote - Direct link - ]

2005-08-06, 16:20 h

Amaris
Posts: 941
User
@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

[ - Answer - Quote - Direct link - ]

2005-08-09, 23:29 h

Dietmar
Posts: 166
User
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.

[ - Answer - Quote - Direct link - ]

2005-08-10, 19:05 h

Amaris
Posts: 941
User
@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

[ - Answer - Quote - Direct link - ]

2005-08-10, 19:46 h

Dietmar
Posts: 166
User
@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).

[ - Answer - Quote - Direct link - ]

2005-08-11, 11:35 h

gni
Posts: 1106
User
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.

[ - Answer - Quote - Direct link - ]

2005-08-11, 12:20 h

Dietmar
Posts: 166
User
@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.

[ - Answer - Quote - Direct link - ]

2005-08-11, 12:38 h

Mazze
Posts: 263
User
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

[ - Answer - Quote - Direct link - ]

2005-08-11, 13:13 h

gni
Posts: 1106
User
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.

[ - Answer - Quote - Direct link - ]

2005-08-11, 13:34 h

Dietmar
Posts: 166
User
@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.

[ - Answer - Quote - Direct link - ]

2005-08-11, 13:43 h

gni
Posts: 1106
User
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 :-(

[ - Answer - Quote - Direct link - ]

2005-08-11, 14:00 h

Dietmar
Posts: 166
User
@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.

[ - Answer - Quote - Direct link - ]

2005-08-11, 20:15 h

Mazze
Posts: 263
User
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

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > C++ mit GoldED AIX ? [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2025 by amiga-news.de - all rights reserved.
.