2015-05-21 17 views
8

Niedawno został zmuszony do uaktualnienia z Visual Studio 2015 przedpremierowych do Visual Studio 2015 Release Candidate wskutek pozwolenie wygasło.błąd LNK2001 __imp_fprintf Visual Studio 2015 RC

Mój projekt był wcześniej dobrze zbudowany, jednak teraz tak nie jest. Ja dostaję tylko dwa błędy link i spędziłem ostatnie dwa dni próbuje je rozwiązać:

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 

ja linkami do SDL2main jak mam to z ich strony internetowej, mam ten sam błąd z wersją 2.0. 0 i wersji 2.0.3, więc nie sądzę, że problem dotyczy konkretnej wersji.

Mam następujące katalogi określone dla bibliotek (zwróć uwagę na foldery x64, buduję 64-bitowy, zbudowałem też boost z "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) 

Uwaga: Próbowałem SDL2-2.0.3 i SDL2-2.0.0 który jest jeden mój build poprzednio pracujący wykorzystywane

nie mam Visual Studio 2013 zainstalowany (z VS2015). a moja platforma toolset mieli być przeniesieni do Visual Studio 2015 (V140) ale ja też próbowałem tylko inną opcję: Visual Studio 2015 - Windows XP (v140_xp)

Co szukam jest bezpośrednia odpowiedź na pytanie, jak rozwiązać ten problem. Na życzenie mogę podać dalsze szczegóły.

+1

* linkami do SDL2main jak mam to z ich strony internetowej * powinieneś zbudować go samodzielnie zamiast – stijn

+0

Wbudowany SDL2 i wydaje się skompilować, będzie trzeba go uruchomić chociaż jak mam zaktualizuj niektóre biblioteki DLL. – M2tM

+1

Wygląda na to, że zadziałało, jeśli chcesz trochę punktów, idź dalej i odpowiedz. :) @stijn Nie potrzebowałem kompilacji miksera SDL, obrazu lub ttf, tylko główny projekt SDL. – M2tM

Odpowiedz

2

SDL2main nie jest zbudowany na podstawie tej samej wersji VS, z której korzystasz i nie ma żadnej gwarancji, że cokolwiek w wersjach przed wydaniem/RC jest całkowicie kompatybilne wstecz. Jeśli masz źródło, zawsze dobrym pomysłem jest zbudowanie wszystkiego samemu, z mniej więcej tymi samymi opcjami kompilacji - szczególnie dla łączenia statycznego/dynamicznego i wielowątkowości itd. - tak, że kończysz na bibliotekach, które są w pełni kompatybilne ze sobą .

zobaczyć również this report

Powiązane problemy