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

Iljaronaldo

Treue Seele

  • »Iljaronaldo« ist der Autor dieses Themas

Beiträge: 99

Wohnort: Hadamar

Beruf: Schüler[9.Klasse Realschule]

  • Private Nachricht senden

1

17.06.2009, 17:18

[Geändert]Das SDL Spiel lässt sich nicht kompilieren!

Hi,

ich bin nun beim Kapitel SDL angelangt und habe noch eine Frage.Undzwar wollte ich das Spiel mal kompiliere.Ich benutze Visual Studio 2008.

Ich habe die Include und Bibliotheksdateien eingefügt.Dann habe ich auch die beiden zusätzlichen libraries sdl.lib und sdlmain.lib eingefügt und zum Schluss unter Projekt->Eigenschaften->C\C++->Codeengineering->Laufzeitbibliothek auf Multithreaded-DLL umgeändert.

Nun das funktioniert aber nciht undzwar liefert der Kompiler folgende Fehler:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
------ Erstellen gestartet: Projekt: SDL_Game, Konfiguration: Release Win32 ------
Verknüpfen...
Framework.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_Quit" in Funktion ""public: void __thiscall CFramework::Quit(void)" (?Quit@CFramework@@QAEXXZ)".
Framework.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_FillRect" in Funktion ""public: void __thiscall CFramework::Clear(void)" (?Clear@CFramework@@QAEXXZ)".
Framework.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_MapRGB" in Funktion ""public: void __thiscall CFramework::Clear(void)" (?Clear@CFramework@@QAEXXZ)".
Sprite.obj : error LNK2001: Nicht aufgelöstes externes Symbol "_SDL_MapRGB".
Framework.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_Flip" in Funktion ""public: void __thiscall CFramework::Flip(void)" (?Flip@CFramework@@QAEXXZ)".
Framework.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_PumpEvents" in Funktion ""public: void __thiscall CFramework::Update(void)" (?Update@CFramework@@QAEXXZ)".
Framework.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_GetKeyState" in Funktion ""public: bool __thiscall CFramework::Init(int,int,int,bool)" (?Init@CFramework@@QAE_NHHH_N@Z)".
Framework.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_SetVideoMode" in Funktion ""public: bool __thiscall CFramework::Init(int,int,int,bool)" (?Init@CFramework@@QAE_NHHH_N@Z)".
Framework.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_GetError" in Funktion ""public: bool __thiscall CFramework::Init(int,int,int,bool)" (?Init@CFramework@@QAE_NHHH_N@Z)".
Sprite.obj : error LNK2001: Nicht aufgelöstes externes Symbol "_SDL_GetError".
Framework.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_Init" in Funktion ""public: bool __thiscall CFramework::Init(int,int,int,bool)" (?Init@CFramework@@QAE_NHHH_N@Z)".
Game.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_PollEvent" in Funktion ""private: void __thiscall CGame::ProcessEvents(void)" (?ProcessEvents@CGame@@AAEXXZ)".
Sprite.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_FreeSurface" in Funktion ""public: __thiscall CSprite::~CSprite(void)" (??1CSprite@@QAE@XZ)".
Sprite.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_SetColorKey" in Funktion ""public: void __thiscall CSprite::SetColorKey(int,int,int)" (?SetColorKey@CSprite@@QAEXHHH@Z)".
Sprite.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_UpperBlit" in Funktion ""public: void __thiscall CSprite::Render(void)" (?Render@CSprite@@QAEXXZ)".
Sprite.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_LoadBMP_RW" in Funktion ""public: void __thiscall CSprite::Load(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?Load@CSprite@@QAEXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)".
Sprite.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_RWFromFile" in Funktion ""public: void __thiscall CSprite::Load(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?Load@CSprite@@QAEXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)".
Timer.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_GetTicks" in Funktion ""public: void __thiscall CTimer::Update(void)" (?Update@CTimer@@QAEXXZ)".
LIBCMT.lib(crt0.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_main" in Funktion "___tmainCRTStartup".
.\Release/SDL_Game.exe : fatal error LNK1120: 17 nicht aufgelöste externe Verweise.
Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Ilja\Desktop\Programmierung\C++ für Spieleprogrammierer\CD_C___fuer_Spieleprogrammierer\CD C++ für Spieleprogrammierer\Source\Kapitel 12\Release\BuildLog.htm" gespeichert.
SDL_Game - 20 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========



Ich habe an dem Code nichts geändert.

Habe ich was vergessen?Oder ist es vllt. bei neuren Kompilern bischen anders, sodas ich noch etwas machen muss, was im Buch garnicht beschrieben ist?

Danke.

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

2

17.06.2009, 17:46

Weil der Standard nichts mit der Art zu stehen zu tun hat :D

3

17.06.2009, 19:15

:shock:
Nach deiner Messageloop wird das Programm doch beendet?
Erstell die Fenster in der WndProc, anders hab ich es noch nicht gesehen (zugegeben hab ich auch nie was richtiges mit der WinAPI gemacht).

4

17.06.2009, 20:06

Genau, du erstellst die Controls nach dem MessageLoop.

Entweder vorm Loop, oder in der WinProc bei WM_Create... ;)
fka tm

Iljaronaldo

Treue Seele

  • »Iljaronaldo« ist der Autor dieses Themas

Beiträge: 99

Wohnort: Hadamar

Beruf: Schüler[9.Klasse Realschule]

  • Private Nachricht senden

5

17.06.2009, 21:44

Man bin ich dumm.

Dake Jungs, jetzt gehts wohl ans experimentieren ;)

Danke nochmal.

Iljaronaldo

Treue Seele

  • »Iljaronaldo« ist der Autor dieses Themas

Beiträge: 99

Wohnort: Hadamar

Beruf: Schüler[9.Klasse Realschule]

  • Private Nachricht senden

6

19.06.2009, 14:00

danke habs selbst hinbekemmen.

Google ist dein Freund ;)

Werbeanzeige