2013-12-19 94 views
2

我想過嘗試使用提供的解決方案之一編譯SDL 2.0.0/2.0.1的靜態鏈接版本(Visual Studio 2012 Express版在Visual Studio 2013旗艦版下)。不幸的是,它無法正確編譯。做了一些研究之後,它可能是與Visual Studio中的錯誤2013在Visual Studio 2013下編譯SDL 2.0.0/2.0.1源碼的問題

這裏有一些錯誤:

Error 2 error LNK2019: unresolved external symbol __ftoui3 referenced in function _SDL_HashDollar D:\Source Code\SDL2-2.0.1\VisualC\SDL\SDL_gesture.obj SDL2 
Error 3 error LNK2019: unresolved external symbol __dtoui3 referenced in function _SDL_PrintFloat D:\Source Code\SDL2-2.0.1\VisualC\SDL\SDL_string.obj SDL2 
Error 9 error MSB3073: The command "copy "D:\Source Code\SDL2-2.0.1\VisualC\\SDL\Win32\Debug\SDL2.dll" "D:\Source Code\SDL2-2.0.1\VisualC\tests\testplatform\Win32\Debug\\SDL2.dll" :VCEnd" exited with code 1. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 132 5 testplatform 

對於任何人與它有問題,可能需要使用Visual Studio 2012或之前的版本,直到Visual Studio 2013存在修復(至少解決了與__ftoui3和__dtoui3無關的外部符號錯誤)。或者,使用其他編譯器。

如何從VS 2013構建SDL?

+1

好的我會解決這個問題=) – thiagoh

+1

[你看到這個](http://stackoverflow.com/a/19707916/2065121) - 這聽起來像有人得到它的工作。可能值得調查。 –

+0

它沒有工作在我的windows8 = \ – thiagoh

回答

1

我發現了一種構建方法:您需要更改SDL項目的代碼生成以使用/ arch:SSE來防止隱式調用SSE2浮點函數。之後,這個問題消失了。

+0

我發現這在VC 2013與AMD A10,不知道它是否發生在英特爾處理器... –