Linkprobleme beim erzeugen eines SDL-Projekts mit VC++
-
Hallo!
Ich habe eine kleine SDL-Anwendung geschrieben (bisher 853 Zeilen). Da ich die natürlich auch auf fremden Computern lauffähig haben möchte, habe ich sie als Release erzeugen lassen. Seitdem ich die Option C/C++ -> Codegenerierung -> Laufzeitbibiothek von Multithreaded DLL auf Multithreaded gestellt habe, erzeugt er das Projekt nicht mehr:
------ Erstellen gestartet: Projekt: spiel, Konfiguration: Release Win32 ------
Kompilieren...
main.cpp
.\main.cpp(219) : warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Programme\Microsoft Visual Studio 9.0\VC\include\stdio.h(237): Siehe Deklaration von 'fopen'
Verknüpfen...
msvcrt.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) ist bereits in LIBCMT.lib(typinfo.obj) definiert.
msvcrt.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) ist bereits in LIBCMT.lib(typinfo.obj) definiert.
msvcrt.lib(MSVCR90.dll) : error LNK2005: _exit ist bereits in LIBCMT.lib(crt0dat.obj) definiert.
msvcrt.lib(MSVCR90.dll) : error LNK2005: ___iob_func ist bereits in LIBCMT.lib(_file.obj) definiert.
msvcrt.lib(MSVCR90.dll) : error LNK2005: _fgetc ist bereits in LIBCMT.lib(fgetc.obj) definiert.
msvcrt.lib(MSVCR90.dll) : error LNK2005: _fopen ist bereits in LIBCMT.lib(fopen.obj) definiert.
msvcrt.lib(MSVCR90.dll) : error LNK2005: _fclose ist bereits in LIBCMT.lib(fclose.obj) definiert.
msvcrt.lib(MSVCR90.dll) : error LNK2005: _isspace ist bereits in LIBCMT.lib(_ctype.obj) definiert.
LIBCMT.lib(crt0init.obj) : warning LNK4098: Standardbibliothek "msvcrt.lib" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
D:\Windows Daten\Visual Studio 2008\Projects\spiel\Release\spiel.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.
Das Buildprotokoll wurde unter "file://d:\Windows Daten\Visual Studio 2008\Projects\spiel\spiel\Release\BuildLog.htm" gespeichert.
spiel - 9 Fehler, 2 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========Ich habe die Linkfehler schon durch entfernen der ein oder anderen "includes" reduzieren können, aber letztendlich kann ich ja auch nicht auf alle verzeichten!
Hier der Includebereich meines Quellcodes:
#include "sdl.h" #include "sdl_image.h" #include <ctime> #include <windows.h>Bitte helft mir!
PS: Muss auch lib-files benutzen! Gibt es eine andere Lösung als die Dateinamen in den Projekteigenschaften "Linker -> Befehlszeile" aufzuführen?
MfG Pingu