我很难尝试将 SDL 库与 MVS 2010 中的新 C++ Win32 控制台应用程序链接。
我下载了最新的 SDL 开发库,并执行了通常的步骤:
- 将包含添加到包含路径 ( pic ) [这工作正常,因为 MVS 找到了 #include 文件]
- 添加了 SDL 的库路径 ( pic ) [这似乎工作正常,因为删除此附加路径会出现错误“错误 LNK1104:无法打开文件‘SDL.lib’”]
- 将 SDL.lib 和 SDLmain.lib 添加到链接器附加依赖项 (pic)
我编辑了主文件以包含一些测试代码,使其看起来像这样:
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include "SDL.h"
int _tmain(int argc, _TCHAR* argv[])
{
int a;
SDL_Init(SDL_INIT_AUDIO|SDL_INIT_VIDEO);
std::cout << "Pong" << std::endl;
std::cin >> a;
return 0;
}
编译时出现以下链接器错误:
Error 1 error LNK2019: unresolved external symbol _SDL_Init referenced in function _wmain D:\All\Proyects\PFC\RT-Pong\RT-Pong\RT-Pong\RT-Pong.obj RT-Pong
Error 2 error LNK1120: 1 unresolved externals D:\All\Proyects\PFC\RT-Pong\RT-Pong\Debug\RT-Pong.exe 1 1 RT-Pong
万一我有一个损坏的 .lib,我重新下载了整个东西,从 0 开始,并得到了相同的结果。老实说,我被难住了,而且它散发出一种我忽略的粗心的简单错误的味道。因此,如果有人对此事有一些新的意见,那真的会让我很开心。
谢谢, 海梅
最佳答案
我认为由于“SDL 的库路径中定义的路径错误”导致链接错误
在Project->Properties->Configuration Properties->Linker->General->Additional Library Directories
更改路径:D:\All\Proyects\PFC\RT-Pong\SDL-1.2.15\lib\x64
进入这个:D:\All\Proyects\PFC\RT-Pong\SDL-1.2.15\lib\x86
关于c++ - MVS 中的 SDL 奇怪链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11482396/