Error LNK2001 无法解析的外部符号 xxxxx

一、问题描述

开发环境: VS 2013。

        之前使用的是SDL 1.2版本的库,现在使用的是2.0版本,在代码中如下引用头文件:

//包含库
extern "C"
{
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libswscale/swscale.h"
#include "SDL2/SDL.h" 
#include "libswresample/swresample.h"  
};
 生成时报错:“Error LNK2001 无法解析的外部符号 xxxxx”。

刚开始以为是项目中不能同时存在SDL1.X 和SDL 2.0,于是将SDL 1.X版本的.h,.dll和.lib文件都删除了,结果还是这个错误。最后找到原因是,项目属性的中的连接器中的附加依赖性出错,如图所示:

Error LNK2001 无法解析的外部符号 xxxxx_第1张图片

现在已经是SDL2.lib 和SDL2main.lib了,而附加依赖项里还是原来的SDL.lib  SDLmain.lib,所以根本就找不到该函数,于是就会报错。

将附加依赖项改正后,就可以了。关于LNK 2001的错误,还可以参考一下博客:http://blog.csdn.net/shenyulv/article/details/6699836


你可能感兴趣的:(Error LNK2001 无法解析的外部符号 xxxxx)