正如标题所说,我一直在尝试让 ffmpeg/libav 库在 MSVC++ 2010 中工作。但是,在调试模式下编码时,我一直在以下错误中运行。
代码:
extern "C"
{
#ifndef __STDC_CONSTANT_MACROS
#define __STDC_CONSTANT_MACROS
#endif
#include <libavcodec\avcodec.h>
#include <libavformat\avformat.h>
#include <libswscale\swscale.h>
#include <libavutil\avutil.h>
}
int main( int argc, char* argv[] )
{
av_register_all();
return 0;
}
安慰:
1>------ Build started: Project: ffmpeg, Configuration: Debug Win32 ------
1>ffmpeg.obj : error LNK2019: unresolved external symbol _av_register_all referenced in function _main
1>C:\Users\okki\documents\visual studio 2010\Projects\ffmpeg\Debug\ffmpeg.exe : fatal error LNK1120: 1 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
我用的是zeranoe的最新版本 git-56ba331 (2013-05-14)。
我尝试了以下方法来解决这个问题:
- 将项目配置为同时查找 x64 和 x86 库。
- 将“共享”包中的 DLL 添加到两个库文件夹中。
- 将库目录添加到链接器选项和 VC++ 目录中。
我已经坚持了一段时间,任何建议都可以提供帮助。如果需要任何额外的信息,我会很乐意提供。