我在项目中使用SDL,但遇到了问题。我遵循了有关如何在MS Visual Studio here中包括SDL的教程,但没有帮助。这是我采取的步骤。
首先,我在C / C ++ /常规“其他输入目录”块中添加了SDL输入目录:
其次,我在Linker / General“其他库目录”块中添加了SDL lib目录:
第三,我在链接器/输入下的“其他依赖项”部分中添加了SDL2.lib; SDL2main.lib:
最后,我将链接器/系统下的子系统部分设置为控制台(/ SUBSYSTEM:CONSOLE):
但是,当我尝试运行本教程提供的测试代码时,此方法不起作用:
#include <iostream>
#include <SDL.h>
int main(int argc, char **argv){
if (SDL_Init(SDL_INIT_EVERYTHING) != 0){
std::cout << "SDL_Init Error: " << SDL_GetError() << std::endl;
return 1;
}
SDL_Quit();
return 0;
}
因为我在调试时遇到了这些构建错误:
1>------ Build started: Project: Project2, Configuration: Debug Win32 ------
1>start.obj : error LNK2019: unresolved external symbol _SDL_GetError referenced in function _SDL_main
1>start.obj : error LNK2019: unresolved external symbol _SDL_Init referenced in function _SDL_main
1>start.obj : error LNK2019: unresolved external symbol _SDL_Quit referenced in function _SDL_main
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
1>c:\users\holger\documents\visual studio 2013\Projects\Game\Debug\Project2.exe : fatal error LNK1120: 4 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
我以为我很好地遵循了本教程,但显然没有。请帮我!
先感谢您!
干杯工程师
最佳答案
错误似乎是您正在构建32位应用程序,但指向64位库。
您的错误:Build started: Project: Project2, Configuration: Debug Win32
但是您设置的库目录将x64
作为子目录。