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

Lindraupe

Frischling

  • »Lindraupe« ist der Autor dieses Themas

Beiträge: 62

Wohnort: Wien

  • Private Nachricht senden

1

02.02.2016, 21:11

Spiel mit SDL - SDL einfügen

Ich bin grad bei Kapitel 12 und hab versucht die SDL zu verwenden.

Manche Funktionen der SDL Funktionieren (z.B.: SDL_INIT_VIDEO) werden erkannt und violett eingfärbt, andere aber nicht (diese dann weiß und rot unterwellt)
Die Fehlermeldungen dazu:
Der Bezeichner "SDL_SetVideoMode" ist nicht definiert.
Der Bezeichner "SDL_HWSURFACE" ist nicht definiert.
[... siehe Bild]

Daher nehme ich mal an, das ich bei der SDL irgendwas falsch gemacht hab. :wacko:

Wie ich die SDL eingefügt habe:
Zuerst hab ich mir SDL 2.0.4 runtergeladen und dann in C:\Othmar\Programmieren-Projekte entpackt.
Dann habe ich eine Konsolenanwendung gemacht, und da mal die erste Frage: Muss man beim Projekterstellen wie immer die Häkchen wegmachen, oder braucht man eins bei "Security Development Lifecycle (SDL)-Prüfungen" Ich habs zuerst ohne, und nachher auch mit einem Hakerl da probier, aber mit dem (SDL) ist ein anderes gemeint, oder?
(Die Formulierung war: "[...] und achte darauf, ein leeres Projekt anzulegen, in dem Du das entsprechende Häkchen aktivierst." Ist halt die Frage ob das Häkchen für das leere Projekt ist ("indem" statt "in dem") oder für irgendeine andere supertolle Funktion ;) )

Dann hab ich main.cpp erstellt.
Danach Rechtsklick auf mein Projekt ->Eigenschaften -> VC++-Verzeichnisse: Dort hab ich den Pfad für das include-und Bibliotheksverzeichnis (im Buch steht libs, bei mir heißt sie lib; darin den x86 Ordner) angegeben. Somit steht dann (siehe Bild 2)
Includeverzeichnisse C:\Othmar\Programmieren-Projekte\SDL2-devel-2.0.4-VC\SDL2-2.0.4\include;$(IncludePath)
Bibliotheksverzeichnisse C:\Othmar\Programmieren-Projekte\SDL2-devel-2.0.4-VC\SDL2-2.0.4\lib\x86;$(LibraryPath)

Danach: Projekt ->Spiel mit SDl Eigenschaften... -> Konfiguration = Alle Konfigurationen ->Linker -> Eingabe -> Eingabe der zu verwendenden Bibliotheksdateien
Zusätzliche Abhängigkeiten sdl.lib; sdlmain.lib;%(AdditionalDependencies)

Dann hab ich die SDL2.dll Datei in den Release Ordner verschoben.

Dann hab ich fröhlich vor mich hingetippt, bis ich draufgekommen bin, dass es nicht funktioniert :fie:


Wisst ihr, was ich da vielleicht falsch gemacht hab?

P.S. Falls ich irgendwas vergessen hab, schreibts halt ;)
»Lindraupe« hat folgende Bilder angehängt:
  • Fehler_SDL.png
  • SDL-Fehler2.png

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

2

02.02.2016, 21:20

Hast du den Header inkludiert?

C-/C++-Quelltext

1
#include "SDL.h"
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Lindraupe

Frischling

  • »Lindraupe« ist der Autor dieses Themas

Beiträge: 62

Wohnort: Wien

  • Private Nachricht senden

3

02.02.2016, 21:39

Indirekt. Also in Timer.hpp ist er drin, und Timer.hpp hab ich in Framework.hpp (dort sind die Fehler) drin.
Habs jetzt auch probiert bei Framework selbst reinzugeben, hat aber auch nicht funkioniert und im Buch ists auch nur beim Timer.
Soll ich den Quellcode dann auch senden (geschätzt 200 Zeilen)?

4

02.02.2016, 21:41

Wenn in den Fehlermeldungen etwas von 'SDL.h' nicht gefunden steht, musst du die include-pfade anpassen. Du solltest auch sdl.lib einbinden.

Lindraupe

Frischling

  • »Lindraupe« ist der Autor dieses Themas

Beiträge: 62

Wohnort: Wien

  • Private Nachricht senden

5

02.02.2016, 21:46

@Roflo Die Fehlermeldung hab ich nicht, nur nicht-deklarierte SDL_XXXX Das mit der sdl.lib schau ich morgen dann

Btw, dieser Klick hier Link :search:

6

02.02.2016, 21:55

Immer, wenn der Linker (LNK...) was von wegen nicht aufgelöste Verweise meckert, hast du vergessen, eine Library (wie SDL.lib) zu linken

7

02.02.2016, 22:15

Zitat von »Lindraupe«

Zusätzliche Abhängigkeiten sdl.lib; sdlmain.lib;%(AdditionalDependencies)


MfG
Check

8

02.02.2016, 22:55

Ist mir schon klar, wollte das nur nochmal erwähnen :)

Zitat

Btw, dieser Klick hier Link :search:

Hab mich gewundert, was meinst du mit 'Klick Link'. Dann hab ich meine Signatur gesehen :D

Mori

Frischling

  • Private Nachricht senden

9

02.02.2016, 23:34

Ich glaube es liegt daran das SDL 2.0+ die Funktionen nicht mehr hat, hatte das selbe Problem. :dash:

Edit: Siehe https://wiki.libsdl.org/MigrationGuide

"Remember SDL_SetVideoMode()? It's completely gone."

Lindraupe

Frischling

  • »Lindraupe« ist der Autor dieses Themas

Beiträge: 62

Wohnort: Wien

  • Private Nachricht senden

10

03.02.2016, 09:46

Ja, lag an der Version (erklärt auch warum ein paar funktioniert haben und andere nicht). Hab jetzt die andere runtergeladen und mit der funktioniert alles :)

Danke an alle die versucht haben zu helfen! :thumbsup:

Werbeanzeige