2015-05-21 21 views
8

ho recentemente è stato costretto a eseguire l'aggiornamento da Visual Studio 2015 pre-release a Visual Studio 2015 Release Candidate a seguito di una licenza scaduta.errore LNK2001 __imp_fprintf Visual Studio 2015 RC

Il mio progetto in precedenza era in costruzione, ma ora non lo è. Sto ottenendo solo due errori di collegamento e ho passato gli ultimi due giorni di tentare di affrontarli:

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 

stanno collegando a SDL2main come l'ho presa dal loro sito, ho ottenuto lo stesso errore con la versione 2.0. 0 e versione 2.0.3, quindi non penso che sia un problema con la versione specifica.

Ho le seguenti directory specificate per le librerie (notare le cartelle x64, sto costruendo 64 bit, ho anche generato boost con "b2 address-model = 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) 

Nota: Ho provato SDL2-2.0.3 e SDL2-2.0.0 che è quella la mia costruzione precedentemente lavorando utilizzato

non ho Visual Studio 2013 installato (con VS2015.) e la mia piattaforma set di strumenti ha dovuto essere aggiornato a Visual Studio 2015 (V140) ma ho anche provato l'unica altra opzione: Visual Studio 2015 - Windows XP (v140_xp)

Quello che sto cercando è un risposta immediata su come risolvere questo problema. Posso offrire ulteriori dettagli se richiesto.

+1

* collegamento a SDL2main come l'ho presa dal loro sito web * probabilmente si dovrebbe costruire da soli, invece – stijn

+0

Costruito SDL2 e sembra compilare, bisogno di andare a farlo funzionare anche se, come devo aggiorna anche alcune DLL. – M2tM

+1

Sembra che abbia funzionato, se desideri alcuni punti vai avanti e rispondi. :) @stijn Non avevo bisogno di compilare il mixer SDL, l'immagine o il ttf, solo il progetto principale di SDL. – M2tM

risposta

2

SDL2main non è costruito contro la stessa versione VS che si sta utilizzando, e non vi è alcuna garanzia reale nella versione pre-release/RC è completamente compatibile con le versioni precedenti. Se hai la fonte, è sempre una buona idea costruire tutto da solo, con le stesse opzioni di compilazione, specialmente quelle per il collegamento statico/dinamico e multi-threading, così da finire con le librerie che sono completamente compatibili tra loro .

vedere anche this report