我考虑过尝试使用提供的解决方案之一(Visual Studio 2013 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 的 Unresolved external symbol 错误)。请改用其他编译器。
如何从 VS 2013 构建 SDL?
最佳答案
我找到了一种构建它的方法:您需要更改 SDL 项目的代码生成以使用/arch:SSE 来防止隐式调用 SSE2 浮点函数。之后这个问题就消失了。
关于c++ - 在 Visual Studio 2013 下编译 SDL 2.0.0/2.0.1 源代码时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20685011/