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

24.05.2006, 13:19

SDL_Spiel wird nicht kompiliert

Hallo ^^

Also ich bin grad beim kompilieren des SDL_Spieles :-P aber irgendwie will mein Kompiler (Visual C++ 2005 Express) nicht richtig ^^

Ich bekomme immer diesen Fehler und weiß jetzt net was ich machen soll !! Kann mir einer sagen was ich falsch gemacht habe oder was ich vergessen habe zu linken ?

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
------ Build started: Project: SDL_Game, Configuration: Debug Win32 ------
Compiling...
Game.cpp
Linking...
Game.obj : error LNK2019: unresolved external symbol __imp___CrtDbgReportW referenced in function "public: class std::list<class CAsteroid,class std::allocator<class CAsteroid> >::_Const_iterator<1> & __thiscall std::list<class CAsteroid,class std::allocator<class CAsteroid> >::_Const_iterator<1>::operator++(void)" (??E?$_Const_iterator@$00@?$list@VCAsteroid@@V?$allocator@VCAsteroid@@@std@@@std@@QAEAAV012@XZ)
Player.obj : error LNK2001: unresolved external symbol __imp___CrtDbgReportW
.\Debug/SDL_Game.exe : fatal error LNK1120: 1 unresolved externals
Build log was saved at "file://d:\.......\Programme\vc++\Kapitel 12\Debug\BuildLog.htm"
SDL_Game - 3 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========



MFG
Sc0rPio

2

10.07.2006, 11:45

Ich hatte das gleiche Problem. Hab herausgefunden, daß das bei Visual C++ 2005 sowie .NET 2005 wohl öfters vorkommt. Da werden anscheinend irgendwelche lib's vertauscht.

Ich hab das jetzt so gelöst:

Bei Projekt->Eigenschaften->Konfigurationseigenschaften->C/C++->Codegenerierung.
Beim Punkt "Laufzeitbibliothek" -> Multitreaded-Debug-DLL(/MDd) ausgewählt.

Bei Projekt->Eigenschaften->Konfigurationseigenschaften->Linker->Eingabe.
Beim Punkt "Bibliothek ignorieren" msvcrt.lib reingeschrieben.

Konnte dann das Projekt erfolgreich erstellen. Beim Starten hat das Programm dann aber die SDL.dll nicht gefunden.
Diese habe ich dann ins "system32" Verzeichnis von Windows reinkopiert.

Fertig.

Noch eine FRAGE noch von mir:
"Weiss jemand, wie ich die SDL.dll reinbringen kann, ohne sie ins system32 - Verzeichnis zu kopieren? Ich hab in meinem Projekt zwar das lib-Verzeichnis von SDL angegeben, aber er findet die SDL.dll trotzdem nicht. "

Anonymous

unregistriert

3

10.07.2006, 11:47

Dll in das Debug/Release Verzeichnis kopieren -.-

4

10.07.2006, 13:47

Zitat von »"DarkRaider"«

Dll in das Debug/Release Verzeichnis kopieren -.-

Du musst es ins Ausführungsverzeichnis kopieren. Das ist bei VC allerdings nicht Debug bzw. Release, sondern der Projektordner(da wo die *.vcproj-Dateien sind).

5

23.07.2006, 18:14

hab das selbe problem, nachdem ich die oben beschriebenen einstellungen geändert hab, bekomme ich jetzt noch folgende Fehlermeldung.

Zitat


mt.exe : general error c101008a: Failed to save the updated manifest to the file ".\Debug\SDL.exe.embed.manifest". The parameter is incorrect


woran kann das liegen?

Mr. Schmidt

Frischling

Beiträge: 24

Wohnort: Nürnberg

  • Private Nachricht senden

6

05.10.2006, 13:00

Hallo zusammen,

ich hab ein ähnliches Problem, wenn ich versuche das Spiel mit VisualC++ Express zu kompilieren. Der Linker finden anscheinend die SDL.lib nicht:

Zitat


LINK : fatal error LNK1104: Datei "SDL.lib," kann nicht geöffnet werden.


Ich hab die SDL Include und Bibliotheksdateien so wie im Buch beschreiben in die VC++ Verzeichnisse kopiert und die Einstellungen in den Projekteigenschaften umgestellt.
(Linker-> Eingabe-> Zusätzliche Abhängikeiten->"sdl.lib", "sdlmain.lib")
(C/C++-> Codegenerierung-> Laufzeitbibliothek-> Multithreaded-DLL (/MD) )
Ich habe auch versucht die Bibliotheken mit #pragma einzubinden, ging nicht. Auch die Einstellung Linker-> Allgemein-> Zusätzliche Bibliotheksverzeichnisse hat nichts gebracht. Die Bibliotheksdatei in den Projektordner oder in den Ordner in dem die .exe erstellt wird oder in den Systemordner von Windows zu kopieren, hat ebenfalls nicht geholfen.

Ich weiss im Moment überhaupt nicht weiter und würde mich freuen, wenn ihr mir helfen könntet.

Vielen Dank schonmal

Anonymous

unregistriert

7

05.10.2006, 17:03

Du hast sie höchstwahrscheinlich nicht richtig bei den Verzeichnissen eingetragen...

Dofter

Treue Seele

Beiträge: 159

Wohnort: im wunderbaren EBERMANNSTADT

Beruf: Schüler^^

  • Private Nachricht senden

8

05.10.2006, 18:24

ich glaube/meine dass die dll ins Verzeichnis muss, wo du dein Projekt gepeichert hast, so sollte des ausschauen

DesIsMeinProjektname\\ (dadrin sind jetzt die Dateien/Ordner:)

Release bzw. Debug ( dadrin is jetzt DesIsMeinProjektname.exe)
DesIsMeinProjektname.dsw
.
.
.
SDL.lib


die Exe befindet sich zwar im Release/Debug Ordner, aber wenn du sie mit dem compiler startest, wird sie so getarte als wäre sie im Ordner vom der "DesIsMeinProjektname.dsw", also muss auch die SDL.lib dorthin.


So ich hoffe des is richtig so....
Falls ja hoff ich das es dir weiterhilft ;)

mfg Dofter
"Wo kämen wir hin, wenn alle sagten, wo kämen wir hin, und keiner ginge,
um zu sehen, wohin wir kämen, wenn wir gingen"

Anonymous

unregistriert

9

05.10.2006, 18:45

Ein paar Grundlagen sollten vorhanden sein... Extras -> Optionen ->
Projekte und Projektmappen VC++ Verzeichnisse. Pfade zu den
Include und Lib Ordner der SDL eintragen, Lib's linken, Header inkludieren
und gut is...

Mr. Schmidt

Frischling

Beiträge: 24

Wohnort: Nürnberg

  • Private Nachricht senden

10

05.10.2006, 20:01

Also ich kann die SDL.lib in jeden beliebigen Ordner kopieren und sie wird trotzdem nicht gefunden, das wundert mich ja auch.
Die Include und Lib Ordner der SDL hab ich schon eingetragen unter "Projekte und Projektmappen-> VC++ Verzeichnisse", genauso wie die beiden Libs "SDL.lib" und "SDLmain.lib" bei den Linker-Einstellungen.
Bin mir nicht ganz sicher was du mit "Header includieren" meinst, ich habs halt damit versucht:

C-/C++-Quelltext

1
2
#include "SDL.h"
#include <stdio.h>

Egal was ich ausprobiere, die SDL.lib wird nicht gefunden.

Werbeanzeige