2015-05-21 15 views
8

Ich war vor kurzem 2015 Pre-Release zu Visual Studio 2015 Release Candidate als Folge einer abgelaufenen Lizenz eines Upgrade von Visual Studio gezwungen.Fehler LNK2001 __imp_fprintf Visual Studio 2015 RC

Mein Projekt war zuvor in Ordnung, aber jetzt ist es nicht. Ich bin nur zwei Verbindungsfehler bekommen, und ich habe die letzten zwei Tage damit verbracht zu versuchen, sie zu lösen:

1>SDL2main.lib(SDL_windows_main.obj) : error LNK2001: unresolved external symbol __imp_fprintf 
    1>SDL2main.lib(SDL_windows_main.obj) : error LNK2001: unresolved external symbol __imp___iob_func 

Ich Anbindung an SDL2main wie ich sie von ihrer Website bekam, habe ich den gleichen Fehler mit Version 2.0. 0 und Version 2.0.3, also glaube ich nicht, dass es ein Problem mit der spezifischen Version ist.

Ich habe die folgenden Verzeichnisse für Bibliotheken angegeben (beachten Sie die x64-Ordner, ich baue 64-Bit, ich baute Boost auch mit "b2-Adresse-Modell = 64").

$(SolutionDir)../external/boost_1_58_0/stage/lib/ 
$(SolutionDir)../external/SDL/SDL2_ttf-2.0.12/lib/x64/ 
$(SolutionDir)../external/SDL/SDL2_mixer-2.0.0/lib/x64/ 
$(SolutionDir)../external/SDL/SDL2_image-2.0.0/lib/x64/ 
$(SolutionDir)../external/SDL/SDL2-2.0.0/lib/x64/ 
$(LibraryPath) 

Hinweis: Ich habe SDL2-2.0.3 und SDL2-2.0.0 versucht, die derjenige meine zuvor arbeitet Build verwendet

ich nicht Visual Studio 2013 installiert haben (mit VS2015.) und meine Plattform Toolset mußte Visual Studio 2015 (v140) aufgerüstet werden, aber ich habe auch versucht, die einzige andere Option: Visual Studio 2015 - Windows XP (v140_xp)

Was ich suche ist ein einfache Antwort, wie dies zu lösen ist. Ich kann auf Anfrage weitere Details anbieten.

+1

* Anbindung an SDL2main wie ich sie von ihrer Website bekam * Sie wahrscheinlich selbst bauen sollte es stattdessen – stijn

+0

SDL2 erbaute und scheint zu kompilieren, brauchen werde es aber laufen zu bekommen, wie ich muss Aktualisieren Sie auch einige DLLs. – M2tM

+1

Scheint funktioniert zu haben, wenn Sie einige Punkte möchten, gehen Sie einfach vor und beantworten Sie es. :) @stijn Ich musste nicht SDL Mixer, Bild oder ttf, nur das Hauptprojekt SDL kompilieren. – M2tM

Antwort

2

SDL2main ist nicht gegen die gleiche VS-Version gebaut, die Sie verwenden, und es gibt keine wirkliche Garantie, dass in Versionen vor der Veröffentlichung/RC vollständig abwärtskompatibel ist. Wenn Sie die Quelle haben, ist es immer eine gute Idee, alles selbst zu erstellen, mit ungefähr den gleichen Build-Optionen - insbesondere denen für statische/dynamische Verknüpfungen und Multithreading usw. - damit Sie Bibliotheken erhalten, die vollständig miteinander kompatibel sind .

Siehe auch this report

Verwandte Themen