muss man wirklich g++ angeben, geht es nicht auch mit gcc der compiler companien sollte doch automatisch das richtige fontend für die sprache aktivieren.
probiere es doch mal in der codebench mit dem aufruf des gcc.
versuch macht klug
[Sammelthema] Software entwickeln für Amiga OS4
Moderator: OS4Welt-Team
- turbo4.1
- Ignition-Team
- Beiträge: 1739
- Registriert: 23. Dezember 2009 18:27
- Hat sich bedankt: 8 Mal
- Danksagung erhalten: 45 Mal
Re: [Sammelthema] Software entwickeln für Amiga OS4
Sam460ex mit Yeston RX550 4GB (Single Slot, Low Profile), Sam440Flex (666MHz) mit Radeon HD5450 PCI, CDTV mit 270MB SCSI-HD, MemCard, 68010 14MHZ und 5MB RAM, A600 und CD32
Amiga User since 1987
Amiga User since 1987
- Goos
- Entwickler-X
- Beiträge: 291
- Registriert: 27. September 2009 13:27
- Wohnort: Neustadt i. Sa.
- Danksagung erhalten: 8 Mal
- Kontaktdaten:
Re: [Sammelthema] Software entwickeln für Amiga OS4
Ja der g++ linkt nur automatisch die stdc++ lib hinzu wenn man den gcc nimmt muss man das mit der option
Code: Alles auswählen
-lstdc++
Edit: ich sehe gerade auf den Codebench screenshots, da steht gcc++ da sollte aber entweder gcc oder g++ rein
Programmierer der EntwicklerX
-
- Beiträge: 310
- Registriert: 24. Oktober 2014 15:51
- Hat sich bedankt: 23 Mal
- Danksagung erhalten: 5 Mal
Re: [Sammelthema] Software entwickeln für Amiga OS4
So sehen meine Einstellungen in CodeBench aktuell aus. Unter Compiler / Compiler Switches läßt sich dein Tipp mit athread=native nicht resetfest eintragen. Bedeutet, ich schreibe den Befehl in das Feld und klicke dann auf OK. Wechsel in nun den Reiter auf was anderes und Wechsel dann wieder zurück, ist das Feld Compiler Switches wieder leer.
Dadurch erstelle ich aktuell den Source in CodeBench und lasse dann über die Shell per Handeingabe kompilieren. Für das bißchen im Moment reicht es aus.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
-
- Beiträge: 310
- Registriert: 24. Oktober 2014 15:51
- Hat sich bedankt: 23 Mal
- Danksagung erhalten: 5 Mal
Re: [Sammelthema] Software entwickeln für Amiga OS4
Kurzes Update:
Kompilieren von C++ Programmen funktioniert mit CodeBench.
In den Einstellungen unter - Targets - muss unter - Linker Switches - folgender Eintrag stehen:
-athread=native -lstdc++
Kompilieren von C++ Programmen funktioniert mit CodeBench.
In den Einstellungen unter - Targets - muss unter - Linker Switches - folgender Eintrag stehen:
-athread=native -lstdc++
-
- Beiträge: 310
- Registriert: 24. Oktober 2014 15:51
- Hat sich bedankt: 23 Mal
- Danksagung erhalten: 5 Mal
Re: [Sammelthema] Software entwickeln für Amiga OS4
Ich verzweifele ich gerade ein wenig...
Habe die Webseite http://www.pjhutchison.org/tutorial/screens.html aufgerufen und versuche den Teil des Tutorials durchzuarbeiten, indem es um das - Öffnen eines Bildschirmes - geht. Habe den folgenden Code in CodeBench eingefügt:
Laut der Webseite handelt es sich auch um einen Code für AmigaOS 4.
Trotz, dass der Code für OS4 ist, erhalte ich folgende Fehlermeldungen:
Was der Fehler \240 weiß ich. Aber auch wenn ich das Zeichen entsprechend anpasse, erfolgt dennoch dieser Fehler im Output.
Auch den Zeiger (Pointer) auf den struct Namen (hier myScreen) zu setzen, hilft nicht.
Nach Umstellungen, habe ich auf nur noch zwei Fehler geschafft.
Ich schätze aber, dass das Problem ganz woanders liegt. Für heute reicht es mir aber...
Im os4depot habe ich mich ebenfalls mal "grob" nach Sourcen und Tutorials umgesehen. Aktuell aber nichts brauchbares gefunden.
Was ich benötige:
Entweder eine Webseite, auf der die Aufrufe bzw. der Code richtig wiedergegeben ist (für das aktuelle OS) oder ein Beispielsource eines Spiels. So kann ich dann im Quelltext bummeln gehen...
Habe die Webseite http://www.pjhutchison.org/tutorial/screens.html aufgerufen und versuche den Teil des Tutorials durchzuarbeiten, indem es um das - Öffnen eines Bildschirmes - geht. Habe den folgenden Code in CodeBench eingefügt:
Code: Alles auswählen
#include <proto/intuition.h>
#include <proto/dos.h>
#include <intuition/screens.h>
int main(void) {
struct NewScreen Screen1 = {
0,0,640,480,8, /* Screen of 640 x 480 of depth 8 (2^8 = 256 colours) */
DETAILPEN, BLOCKPEN,
HIRES, /* see graphics/view.h for view modes */
PUBLICSCREEN, /* Screen types */
NULL, /* Text attributes (use defaults) */
"My New Screen",
NULL,
NULL
};
struct Screen *myScreen;
myScreen = IIntuition->OpenScreen(&Screen1); /* & (ampersand) means address of */
IDOS->Delay(500);
if (myScreen) IIntuition->CloseScreen(myScreen); /* Close screen using myScreen pointer */
return(0);
}
Trotz, dass der Code für OS4 ist, erhalte ich folgende Fehlermeldungen:
Ich vermute, dass das noch Code für AmigaOS 4 und nicht 4.1 ist ?!?Linking Übungen
Window.cpp:5:4: error: stray '\240' in program
5 | struct NewScreen Screen1 = {
| ^
Window.cpp:6:4: error: stray '\240' in program
6 | 0,0,640,480,8, /* Screen of 640 x 480 of depth 8 (2^8 = 256 colours) */
| ^
Window.cpp:6:5: error: stray '\240' in program
6 | 0,0,640,480,8, /* Screen of 640 x 480 of depth 8 (2^8 = 256 colours) */
| ^
Window.cpp:7:4: error: stray '\240' in program
7 | DETAILPEN, BLOCKPEN,
| ^
Window.cpp:7:5: error: stray '\240' in program
7 | DETAILPEN, BLOCKPEN,
| ^
Window.cpp:8:4: error: stray '\240' in program
8 | HIRES, /* see graphics/view.h for view modes */
| ^
Window.cpp:8:5: error: stray '\240' in program
8 | HIRES, /* see graphics/view.h for view modes */
| ^
Window.cpp:9:4: error: stray '\240' in program
9 | PUBLICSCREEN, /* Screen types */
| ^
Window.cpp:9:5: error: stray '\240' in program
9 | PUBLICSCREEN, /* Screen types */
| ^
Window.cpp:10:4: error: stray '\240' in program
10 | NULL, /* Text attributes (use defaults) */
| ^
Window.cpp:10:5: error: stray '\240' in program
10 | NULL, /* Text attributes (use defaults) */
| ^
Window.cpp:11:4: error: stray '\240' in program
11 | "My New Screen",
| ^
Window.cpp:11:5: error: stray '\240' in program
11 | "My New Screen",
| ^
Window.cpp:12:4: error: stray '\240' in program
12 | NULL,
| ^
Window.cpp:12:5: error: stray '\240' in program
12 | NULL,
| ^
Window.cpp:13:4: error: stray '\240' in program
13 | NULL
| ^
Window.cpp:13:5: error: stray '\240' in program
13 | NULL
| ^
Window.cpp:14:4: error: stray '\240' in program
14 | };
| ^
Window.cpp:14:5: error: stray '\240' in program
14 | };
| ^
Window.cpp:15:4: error: stray '\240' in program
15 | struct Screen *myScreen;
| ^
Window.cpp:15:5: error: stray '\240' in program
15 | struct Screen *myScreen;
| ^
Window.cpp:16:1: error: stray '\240' in program
16 | myScreen = IIntuition->OpenScreen(&Screen1); /* & (ampersand) means address of */
| ^
Window.cpp:16:2: error: stray '\240' in program
16 | myScreen = IIntuition->OpenScreen(&Screen1); /* & (ampersand) means address of */
| ^
Window.cpp:17:4: error: stray '\240' in program
17 | IDOS->Delay(500);
| ^
Window.cpp:17:5: error: stray '\240' in program
17 | IDOS->Delay(500);
| ^
Window.cpp:18:4: error: stray '\240' in program
18 | if (myScreen) IIntuition->CloseScreen(myScreen); /* Close screen using myScreen pointer */
| ^
Window.cpp:18:5: error: stray '\240' in program
18 | if (myScreen) IIntuition->CloseScreen(myScreen); /* Close screen using myScreen pointer */
| ^
Window.cpp: In function 'int main()':
Window.cpp:11:6: warning: ISO C++ forbids converting a string constant to 'STRPTR' {aka 'char*'} [-Wwrite-strings]
11 | "My New Screen",
| ^~~~~~~~~~~~~~~
make: *** [Übungen] Error 1
Was der Fehler \240 weiß ich. Aber auch wenn ich das Zeichen entsprechend anpasse, erfolgt dennoch dieser Fehler im Output.
Auch den Zeiger (Pointer) auf den struct Namen (hier myScreen) zu setzen, hilft nicht.
Nach Umstellungen, habe ich auf nur noch zwei Fehler geschafft.
Ich schätze aber, dass das Problem ganz woanders liegt. Für heute reicht es mir aber...
Im os4depot habe ich mich ebenfalls mal "grob" nach Sourcen und Tutorials umgesehen. Aktuell aber nichts brauchbares gefunden.
Was ich benötige:
Entweder eine Webseite, auf der die Aufrufe bzw. der Code richtig wiedergegeben ist (für das aktuelle OS) oder ein Beispielsource eines Spiels. So kann ich dann im Quelltext bummeln gehen...
- TearsOfMe
- Beiträge: 1202
- Registriert: 29. Dezember 2013 19:27
- Wohnort: Bad Marienberg
- Hat sich bedankt: 28 Mal
- Danksagung erhalten: 2 Mal
Re: [Sammelthema] Software entwickeln für Amiga OS4
Kurz um Internet gesucht und das meint es sind:
"\240 is non-breaking space in iso8859-1 encoding, so the mystery is how those very special characters got in there."
Also da sind unsichtbare Zeichen beim copy/paste mitkopiert worden die den Fehler wohl auslösen.
Aber kann ja auch kein C, also nur geraten.
Vlt. schreibt noch ein Profi noch was dazu.
Edit:
Oh knapp zu spät, hast ja schon selbst gefunden
"\240 is non-breaking space in iso8859-1 encoding, so the mystery is how those very special characters got in there."
Also da sind unsichtbare Zeichen beim copy/paste mitkopiert worden die den Fehler wohl auslösen.
Aber kann ja auch kein C, also nur geraten.
Vlt. schreibt noch ein Profi noch was dazu.
Edit:
Oh knapp zu spät, hast ja schon selbst gefunden
Still speaks the silence, it speaks in riddles to my mind
And time keeps passing by as I walk tearful through this life.
Tarja i miss you so much. Farewell my baby.
And time keeps passing by as I walk tearful through this life.
Tarja i miss you so much. Farewell my baby.
- Goos
- Entwickler-X
- Beiträge: 291
- Registriert: 27. September 2009 13:27
- Wohnort: Neustadt i. Sa.
- Danksagung erhalten: 8 Mal
- Kontaktdaten:
Re: [Sammelthema] Software entwickeln für Amiga OS4
Ja das unsichtbare Zeichen \240 am Anfang der jeweiligen Zeile, sagt dem Browser, dass er da keinen Automatischen Zeilenumbruch machen darf, das versteht der Compiler natürlich nicht.
Programmierer der EntwicklerX