Probleme beim Compilieren
Den Compiler startest Du mit dem Zahnrad-Knopf.
Wenn alles funktioniert siehst Du eine Meldung, dass eine .exe
-Datei erzeugt wurde:
Output file is ../Debug/test.exe with size 27.62 KB
Dabei können unterschiedliche Fehler auftreten. Hier sind einige der häufigsten:
Syntaxfehler
Der C++-Compiler versteht einen Befehl nicht.
Symptom: Fehlermeldung mit Zeilennummer, z.B.:
error: expected ';' before '}' token
Lösung: Code und Fehlermeldung genau lesen
Falsche C++-Datei editiert
Symptom: Du änderst das Programm schon zum 3. Mal, aber es ändert sich überhaupt nichts.
Lösung: Doppelklick auf die Datei im Projektliste und prüfen, ob eine neue Datei geöffnet wird.
Doppelte main-Funktion
Wenn Du zwei Programme im gleichen Code::Blocks-Projekt hast, weiß der Compiler nicht, welche main()
-Funktion er verwenden soll.
Symptom: Fehlermeldung
multiple definition of main
Lösung: Verschiebe eines der Programme in ein anderes Projekt oder bennene die main()
zwischenzeitlich um.
Header-Datei nicht gefunden
Code::Blocks weiß nicht, wo es eine Programmbibliothek findet.
Symptom: Fehlermeldung
fatal error: SDL.h: No such file or directory
Lösung: Pfad in den Projekteinstellungen (Search Path, Compiler)überprüfen.
Bibliothek nicht gefunden
Code::Blocks weiß nicht, wo die compilierte Bibliothek liegt.
Symptom: Fehlermeldung
undefined reference to `SDL_Init`
error: ld returned 1 exit status
Lösung: Pfad in den Projekteinstellungen (Search Path, Linker)und Linker Settings überprüfen.
DLLs nicht gefunden
Das Programm kann nicht ausgeführt werden, weil die Windows-DLLs fehlen.
Symptom: Das Compilieren ist erfolgreich, aber beim Starten des Programms erscheint eine Windows-Fehlerbox.
Lösung: DLL-Dateien (mit SDL mindestens 6) in das Verzeichnis mit der .exe
-Datei kopieren.
Bilddateien nicht gefunden
Symptom: Das Programm startet, aber es ist nichts zu sehen.
Lösung:
- Bilddateien in das Projektverzeichnis kopieren (dort wo die
.cpp
-Dateien liegen). - Prüfen, ob nach dem Zeichnen
SDL_UpdateWindowSurface()
aufgerufen wurde. - Probieren, gleich zu Beginn des Programms ein Bild anzuzeigen (bevor kompliziertere Dinge getan werden), da die Ursache auch etwas anderes sein kann.