Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

05.02.2016, 23:03

Probleme mit Headerdateien in der SDL

Hallo an alle. :) Ich habe vor ca. einem halben Jahr angefangen mein erstes eigenes Spiel mit der SDL zu schreiben. Leider gibt es ein Problem dass mich ziemlich stört und auch stundenlanges Googeln konnte mir nicht helfen.
Mein Compiler gibt einen Fehler aus, sobald ich den <string> header in einem meiner Headerfiles include, selbst wenn ich garkeine String-Objekte verwende. Nur die #include <string> Direktive erzeugt bereits einen Fehler. Die Fehlermeldung des Compilers verweist allerdings nur auf den <string>-Header selbst, was mir nicht wirklich weiterhilft. "Syntaxfehler: ')'", "Es fehlt ')' vor Zeichenfolge" und "swprintf_s: Durch keine der 2 Überladungen konnten alle Argumenttypen konvertiert werden." Ich kann mit diesen Fehlermeldungen leider nichts anfangen wenn mich der Compiler nur auf den Header selbst verweist. Ähnliche Fehlermeldungen hatte ich damals schon als ich den <list> Header benutzen wollte, allerdings verschwanden dort alle Probleme als ich statt dem Debug-Mode in den Release-Modus wechselte... was mich hier ebenso verwirrt, ist, dass mein Quellcode perfekt funktioniert wenn ich die Zeile #include <string> einfach komplett weglasse. (Mir wurde gesagt iostream schließt string automatisch ein.) Es funktioniert auch, wenn ich statt <string> einfach <cstring> benutze.
Ich bin dann, nach einigem Stöbern hier im Forum, dem Rat gefolgt einfach den gesamten Code in ein neues Projekt zu packen weil eventuell einfach einige Einstellungen in Visual Studio durch "irgendwas" verändert wurden, aber das half leider auch nicht. (Ich benutze Visual Studio Express 2013.) Es scheint auch sonst nie jemanden gegeben zu haben der mit diesem Problem zu tun hatte (zumindest hat Google mir absolut nix verraten können), weswegen ich mich an euch wenden wollte. Wenn jemand weiß was hier kaputt ist, ob es die SDL oder Visual Studio ist, wäre ich extrem dankbar. :)

2

06.02.2016, 10:32

Kannst du mal den kompletten Quellcode von einem einfachen Programm (Hello World mit String) posten.


Das Problem kommt entweder durch eine zuvor falsch eingebundene Datei, oder durch eine wodurch auch immer kaputte string-Datei.

3

06.02.2016, 21:30

Also ein Hello-World Programm ging auch mit dem string-Header tadellos, anscheinend liegt der Fehler doch woanders... :(

4

06.02.2016, 21:36

Dann ist eine kaputte Installation schon mal ziemlich sicher nicht der Grund.

Schau doch mal, was du vor <string> eingebunden hast, ziemlich sicher ist in dem Header davor ein Fehler, der erst in <string> zum Problem führt. (z.B. ein fehlendes Semikolon am Ende der Klassendefinition (ich spreche aus Erfahrung :) ) )

Werbeanzeige