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

ich1994

Treue Seele

  • »ich1994« ist der Autor dieses Themas

Beiträge: 164

Wohnort: Erlangen(nähe Nuernberg)

Beruf: Bald Abiturient(kein job eig...)

  • Private Nachricht senden

1

21.11.2009, 17:53

Kapitel 12 VC++8.0Express Compiler-Fehler

Hallo erstmal,

ich habe folgenden Fehler bei VC++8.0Express.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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,class std::allocator >)" (?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,class std::allocator >)" (?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)".
MSVCRTD.lib(crtexe.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.

Da ich immer mit Dev-C++ meine kleinen Anfänger-Proggis compiliert habe, verstehe ich VC++ nicht. Ausserdem wird im Buch nur VC++ 6.0 erklärt.Ja, ich hab schon VC++ 6.0 installiert, aber mein Vista streikt mit VC++ dann.
Zurück zum Thema...:
Könnte jemand diese Fehlercode mal analysieren und mir sagen was ich machen soll und WO ich die Einstellungen dann finde.

MfG

ich1994

2

21.11.2009, 18:02

Also, wahrscheinlich hast du vergessen die Libs zu linken.

links siehste dein Projekt, dann rechtsklick, einstellungen.

hier dann auf Linker->Eingabe zusätzliche Abhängigkeiten und dort trägst du Sdl.lib sdlmain.lib ein.

ich1994

Treue Seele

  • »ich1994« ist der Autor dieses Themas

Beiträge: 164

Wohnort: Erlangen(nähe Nuernberg)

Beruf: Bald Abiturient(kein job eig...)

  • Private Nachricht senden

3

21.11.2009, 18:08

huii,danke.
jetzt ist das alles schon weg^^
aber:

1>Code wird generiert...
1>Verknüpfen...
1>LINK : fatal error LNK1181: Eingabedatei "sdl.lib;sdlmain.lib" kann nicht geöffnet werden.

ich hab die ganzen SDL-Sachen direkt unter meine fesplatte gespeichert.
Also:
C:/SDl/SDl(versionsnummer)/include
C:/SDl/SDl(versionsnummer)/lib

Hoffe auf Antworten

FLO2

Treue Seele

Beiträge: 221

Beruf: Schüler

  • Private Nachricht senden

4

21.11.2009, 18:12

Du hast warscheinlich bei zusätzliche Abhängigkeiten ein Semikolon zwischen sdl.lib und sdlmain.lib!
Einfach nur ein Leerzeichen dazwischen.
Pi mal Daumen = 18.84955592

ich1994

Treue Seele

  • »ich1994« ist der Autor dieses Themas

Beiträge: 164

Wohnort: Erlangen(nähe Nuernberg)

Beruf: Bald Abiturient(kein job eig...)

  • Private Nachricht senden

5

21.11.2009, 18:14

Thx
musste halt immer auf ein Semikolon vertrauen^^

Kann geschlossen werden.

ich1994

Treue Seele

  • »ich1994« ist der Autor dieses Themas

Beiträge: 164

Wohnort: Erlangen(nähe Nuernberg)

Beruf: Bald Abiturient(kein job eig...)

  • Private Nachricht senden

6

21.11.2009, 18:27

oder doch nicht.
nach dem ich es mit VC++ kompiliert habe startet ja das Proggi automatisch.
aber wenn ich es manuell öffnen will kommt ne Windows-Fehlermeldung, dass SDl.dll nicht gefunden werden kann.
Ich hab es nicht verschoben oder so.

Bitte nochmals um Antwort

FLO2

Treue Seele

Beiträge: 221

Beruf: Schüler

  • Private Nachricht senden

7

21.11.2009, 18:32

In deinem SDL Ordner ist im Ordner lib die SDL.dll.
Kopiere sie in den gleichen Ordner in dem die exe ist.
Pi mal Daumen = 18.84955592

ich1994

Treue Seele

  • »ich1994« ist der Autor dieses Themas

Beiträge: 164

Wohnort: Erlangen(nähe Nuernberg)

Beruf: Bald Abiturient(kein job eig...)

  • Private Nachricht senden

8

21.11.2009, 18:40

was muss ich alles von dort kopieren um das spiel auf z.b: USB-Stick.
ich hab schon versucht die exe und die SDL.dll "zusammen zu halten".
Das Proggi startet und beendet sich wieder.Einfach so

9

21.11.2009, 18:43

Wie zusammen zuhalten ?

Einfach die .exe und die SDL.dll in den Ordner

Wenns auch auf anderen Laufen soll, evtl. noch das Redist mitliefern

ich1994

Treue Seele

  • »ich1994« ist der Autor dieses Themas

Beiträge: 164

Wohnort: Erlangen(nähe Nuernberg)

Beruf: Bald Abiturient(kein job eig...)

  • Private Nachricht senden

10

21.11.2009, 18:57

was für ein Redist?
ich hab die exe und die .dll schon ein einen anderen ordner gepackt.
die beiden alleine nützen nix :(
Hier was ich alles in den Ordner hab:
Welche Dateien muss ich in einen Ordner in einem USB stick packen?

(Link)

Werbeanzeige