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

TigerClaw25

unregistriert

1

01.11.2013, 15:09

SDL einbinden - Fehler

Hallo Zusammen,

habe Visual 2012 Express installiert und SDL 1.2.15 heruntergeladen. Dann habe ich mir ein neues Projekt erstellt, alle h und cpp Dateien in das Projekt geladen. Dann bei Eigenschaften vom Projekt include und lib Verzeichnis für 64 Bit System angegeben, sdl.lib und sdlmain.lib unter Linker/Eingabe eingetragen und SDL-dll ins Debug-Verzeichnis kopiert, dann kompiliert. Aber folgende Fehlermeldung kommt:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Fehler  1   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)".  C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Framework.obj   2DGame_SDL
Fehler  2   error LNK2001: Nicht aufgelöstes externes Symbol "_SDL_GetError".  C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Sprite.obj  2DGame_SDL
Fehler  3   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)".   C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Framework.obj   2DGame_SDL
Fehler  4   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)".  C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Framework.obj   2DGame_SDL
Fehler  5   error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_Flip" in Funktion ""public: void __thiscall CFramework::Flip(void)" (?Flip@CFramework@@QAEXXZ)".    C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Framework.obj   2DGame_SDL
Fehler  6   error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_MapRGB" in Funktion ""public: void __thiscall CFramework::Clear(void)" (?Clear@CFramework@@QAEXXZ)".    C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Framework.obj   2DGame_SDL
Fehler  7   error LNK2001: Nicht aufgelöstes externes Symbol "_SDL_MapRGB".    C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Sprite.obj  2DGame_SDL
Fehler  8   error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_FillRect" in Funktion ""public: void __thiscall CFramework::Clear(void)" (?Clear@CFramework@@QAEXXZ)".  C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Framework.obj   2DGame_SDL
Fehler  9   error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_PumpEvents" in Funktion ""public: void __thiscall CFramework::Update(void)" (?Update@CFramework@@QAEXXZ)".  C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Framework.obj   2DGame_SDL
Fehler  10  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)".  C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Framework.obj   2DGame_SDL
Fehler  11  error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_Quit" in Funktion ""public: void __thiscall CFramework::Quit(void)" (?Quit@CFramework@@QAEXXZ)".    C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Framework.obj   2DGame_SDL
Fehler  12  error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_PollEvent" in Funktion ""private: void __thiscall CGame::ProcessEvents(void)" (?ProcessEvents@CGame@@AAEXXZ)".  C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Game.obj    2DGame_SDL
Fehler  13  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)".   C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Sprite.obj  2DGame_SDL
Fehler  14  error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_FreeSurface" in Funktion ""public: __thiscall CSprite::~CSprite(void)" (??1CSprite@@QAE@XZ)".   C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Sprite.obj  2DGame_SDL
Fehler  15  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)".   C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Sprite.obj  2DGame_SDL
Fehler  16  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)".   C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Sprite.obj  2DGame_SDL
Fehler  17  error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_UpperBlit" in Funktion ""public: void __thiscall CSprite::Render(float)" (?Render@CSprite@@QAEXM@Z)".   C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Sprite.obj  2DGame_SDL
Fehler  18  error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDL_GetTicks" in Funktion ""public: __thiscall CTimer::CTimer(void)" (??0CTimer@@QAE@XZ)".  C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\Timer.obj   2DGame_SDL
Fehler  19  error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_main" in Funktion "___tmainCRTStartup". C:\Projekte\SDL_Game_Buch\2DGame_SDL\2DGame_SDL\MSVCRTD.lib(crtexe.obj) 2DGame_SDL
Fehler  20  error LNK1120: 17 nicht aufgelöste Externe C:\Projekte\SDL_Game_Buch\2DGame_SDL\Debug\2DGame_SDL.exe   2DGame_SDL

Gelöschter Benutzer

unregistriert

2

01.11.2013, 15:32

Ich weis jetzt nicht ob du das schon gemacht hast, aber ich bin auf folgenden Fehler lange nicht gekommen: Bei dieser Version der SDL muss man beim "include" oder "lib" Ordner (habe vergessen welchen, schau einfach mal im Explorer in dem Ordner der SDL in die einzelnen Ordner, bei welchem es noch "x64" und "x86" gibt). Du musst eigentlich nur noch den Pfad zu "x86" angeben. Ich hoffe, ich konnte helfen.

TigerClaw25

unregistriert

3

01.11.2013, 15:43

Hab ein 64 Bit System, aber mit dem anderen Pfad gibt es keine Fehlermeldungen. Dafür aber startet das Spiel nicht bzw. nach wenigen Millisekunden gelange ich wiedser auf dem Desktop zurpück, ohne dass das Spiel startet

EDIT: funktioniert jetzt, aber nicht als 64 Bit

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »TigerClaw25« (01.11.2013, 16:58)


FSA

Community-Fossil

  • Private Nachricht senden

4

01.11.2013, 17:36

Du musst auch einstellen, dass dein Kompiler für x64 Maschinen kompilieren soll ;)

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

TigerClaw25

unregistriert

5

03.11.2013, 19:40

hmm, ok, keine Ahnung wie :)

FSA

Community-Fossil

  • Private Nachricht senden

6

03.11.2013, 19:51

Projekteigenschaften->Linker->Erweitert->Zielcomputer: MachineX64

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

TigerClaw25

unregistriert

7

05.11.2013, 08:41

Danke, ich lasse es erst einmal auf 32 Bit laufen, bekomme jetzt aber bei der Einbindung meiner alten Dateien vom alten Rechner folgende Fehlermeldungen:

C-/C++-Quelltext

1
2
1>Asteroid.obj : warning LNK4075: /EDITANDCONTINUE wird aufgrund der Angabe von /SAFESEH ignoriert.
1>MSVCRTD.lib(cinitexe.obj) : warning LNK4098: Standardbibliothek "msvcrt.lib" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.


Hab alles neu kompiliert, aber es startet nicht ...

patrick246

Treue Seele

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

8

05.11.2013, 15:13

Das sind keine Fehlermeldungen, das sind Warnungen. Es sollte trotzdem kompilieren. Falls nicht, dann ist diese Fehlermeldug nicht vollständig.

FSA

Community-Fossil

  • Private Nachricht senden

9

05.11.2013, 16:15

msvcrt.lib deutet darauf hin, dass du mit der Linkeroption /MD linkst. Erstellst du deine Exe als release? Oder bindest du die SDL.lib als release kompiliert ein?

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

TigerClaw25

unregistriert

10

05.11.2013, 22:59

Hallo,

hier der Fehler:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
"SDL_Game.exe" (Win32): "C:\Projekte\SDL_Game_Spaceship_Mai2013\Debug\SDL_Game.exe" geladen. Symbole wurden geladen.
"SDL_Game.exe" (Win32): "C:\Windows\SysWOW64\ntdll.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"SDL_Game.exe" (Win32): "C:\Windows\SysWOW64\kernel32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"SDL_Game.exe" (Win32): "C:\Windows\SysWOW64\KernelBase.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"SDL_Game.exe" (Win32): "C:\Projekte\SDL_Game_Spaceship_Mai2013\Debug\SDL.dll" geladen. Das Modul wurde ohne Symbole erstellt.
"SDL_Game.exe" (Win32): "C:\Windows\SysWOW64\advapi32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"SDL_Game.exe" (Win32): "C:\Windows\SysWOW64\msvcrt.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"SDL_Game.exe" (Win32): "C:\Windows\SysWOW64\sechost.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"SDL_Game.exe" (Win32): "C:\Windows\SysWOW64\rpcrt4.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"SDL_Game.exe" (Win32): "C:\Windows\SysWOW64\sspicli.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"SDL_Game.exe" (Win32): "C:\Windows\SysWOW64\cryptbase.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"SDL_Game.exe" (Win32): "C:\Windows\SysWOW64\gdi32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"SDL_Game.exe" (Win32): "C:\Windows\SysWOW64\user32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"SDL_Game.exe" (Win32): "C:\Windows\SysWOW64\lpk.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"SDL_Game.exe" (Win32): "C:\Windows\SysWOW64\usp10.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"SDL_Game.exe" (Win32): "C:\Windows\SysWOW64\winmm.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"SDL_Game.exe" (Win32): "C:\Projekte\SDL_Game_Spaceship_Mai2013\Debug\SDL_mixer.dll" geladen. Das Modul wurde ohne Symbole erstellt.
"SDL_Game.exe" (Win32): "C:\Projekte\SDL_Game_Spaceship_Mai2013\Debug\SDL_ttf.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
Das Programm "[4788] SDL_Game.exe" wurde mit Code -1072365566 (0xc0150002) beendet.


Es kommt immer ein rotes Fenster mit Error 0xc0150002. Ich erzeuge die exe als Debug

Werbeanzeige