繁体   English   中英

SDL错误Visual Studio 2013

[英]SDL errors Visual Studio 2013

我正在使用Visual Studio 2013和SDL 2.0.1,由于某种原因,我得到了一大堆类似于此的错误:

Error   2   error LNK2019: unresolved external symbol _SDL_DestroyWindow referenced in function "public: virtual __thiscall Display::~Display(void)" (??1Display@@UAE@XZ)   c:\Users\Toby\documents\visual studio 2013\Projects\OpenGLTutorialProject\OpenGLTutorialProject\Display.obj OpenGLTutorialProject

我将SDL链接到我的程序的步骤: - 处理一个名为include的文件夹,并将SDL / include中的所有文件放入我项目的include文件夹中。 为我的项目处理了一个lib文件夹,并将所有内容放入SDL / lib中。 -转到属性 - >链接器 - >常规 - >其他库目录,并将其指向项目中的lib文件夹。 -转到属性 - > C / C ++ - >常规 - > AdditionalInclude目录,并在我的项目中设置包含文件夹的路径。 -转到属性 - >链接器 - >输入- >其他依赖关系并输入以下内容:

glew32.lib
glew32s.lib
SDL2.lib
SDL2main.lib
SDL2test.lib
OpenGL32.lib

是的,我还包括GLEW,它工作正常和链接。

当我输入这个:

#include<SDL2/SDL.h>

Visual Studio实际上为我完成了它,因此visual studio知道SDL存在于项目中。 然而,在那之后,我尝试运行和编译,我遇到了一堆未解决的外部符号错误,然后这个:

Error   12  error LNK1120: 11 unresolved externals  c:\users\toby\documents\visual studio 2013\Projects\OpenGLTutorialProject\Debug\OpenGLTutorialProject.exe   OpenGLTutorialProject

我搜索过,似乎SDL曾经在使用visual studio 2013时出现问题,但随后出现了错误。 我也确保设置我的主要方法如下:

int main(int argc, char **argv)

因为我听说SDL在主方法中的参数方面很挑剔。 谁能告诉我我做错了什么?

我的猜测是你要么使用不正确的路径,要么链接到所选平台的错误版本的库? 即x86还是x64?

如果您的编译器设置为32位,则需要使用x86库而不是x64。

此外, Additional Library Directories需要指向lib文件所在的目录,在SDL2中,lib目录分别有两个x86和x64子目录。 如果您从SDL lib目录复制了所有内容,那么文件可能已经结束了它们不应该存在的位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM