2016-12-22 11 views
-1

Ich versuche, mein Programm zu bekommen, um C++ 's Eingabe und Ausgabe Streams für Debugging-Zwecke zu verwenden, aber es wird nicht funktionieren?Linker Fehler LNK2019 einschließlich einschließlich SDL.h

Mein Code:

#include <SDL.h> 
#include <iostream> 

using namespace std; 


int main() 
{ 
    cout << "I work!"; 

    return 0; 
} 

, dass alles, was ich habe, ist, und es wird nicht funktionieren. Ich plane, SDL zu verwenden, um ein kleines Kontrolleurspiel zu machen, aber ich würde <iostream> verwenden, um zu debuggen.

Hier ist mein Fehler:

error LNK2019: unresolved external symbol _SDL_main referenced in function _main_utf8 

fatal error LNK1120: 1 unresolved externals 
+0

Versuchen Sie '#undef main' nach Ihren' # include'-Anweisungen hinzuzufügen. Wenn das das Problem behebt, hat der SDL-Header '#define main something' und Sie müssen eine Verbindung mit SDL-Bibliotheken herstellen, damit die Dinge erfolgreich verknüpft werden können. – Praetorian

+0

Das hat es nicht behoben. –

+1

Nun, Sie müssen mit einigen SDL-Bibliothek verknüpfen. Ihre Dokumentation sollte diese Informationen enthalten, und Google kann Ihnen dabei helfen, herauszufinden, wie Sie Bibliotheken in Visual Studio verknüpfen können. – Praetorian

Antwort

1

Das von FAQ bedeckt ist:

Vergewissern Sie sich, dass Sie() als Haupt deklarieren:

int main (int argc, char * argv [])

Da SDL_main kein spezieller Name zu C++ - Compiler bekannt ist, wird es durch allgemeine Regeln gemangelt. SDL hat Forward-Deklaration mit korrekten Verknüpfungsflags (mindestens extern "C") nur für int SDL_main(int, char**).

Verwandte Themen