在Visual Studio 2013下编译SDL 2.0.0 / 2.0.1源的问题

时间:2013-12-19 15:04:10

标签: c++ visual-studio sdl visual-studio-2013

我考虑过尝试使用提供的解决方案(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?

1 个答案:

答案 0 :(得分:2)

我找到了构建它的方法:您需要更改SDL项目的代码生成以使用/ arch:SSE来防止隐式调用SSE2浮点函数。之后,这个问题就消失了。