我考虑过尝试使用提供的解决方案(Visual Studio 2012 Ultimate Edition下的Visual Studio 2012 Express Edition)编译静态链接版本的SDL 2.0.0 / 2.0.1。不幸的是,它无法正确编译。在做了一些研究之后,它可能是Visual Studio 2013的一个错误
以下是一些错误:
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?
答案 0 :(得分:2)
我找到了构建它的方法:您需要更改SDL项目的代码生成以使用/ arch:SSE来防止隐式调用SSE2浮点函数。之后,这个问题就消失了。