当前位置: 代码迷 >> 多媒体/流媒体开发 >> FFmpeg如何用啊为什么小弟我用不了里面的API函数
  详细解决方案

FFmpeg如何用啊为什么小弟我用不了里面的API函数

热度:1675   发布时间:2013-02-26 00:00:00.0
FFmpeg怎么用啊?为什么我用不了里面的API函数?
我下了个FFmpeg,版本是"FFmpeg-full-SDK-3.2",下载完后里面有3个文件夹,分别是"bin","include","lib".我用的编译环境是VC6.0SP5,是在projects的MFC下编写的程序,程序中加载了2个头文件#include "avcodec.h";#include "avformat.h"和两个静态库#pragma comment(lib,"avcodec")#pragma comment(lib,"avformat").
在定义一些变量,比如AVCodecContext *pCodecCtx;AVFormatContext *pFormatCtx;也是可以识别的,但是用到函数av_register_all();的时候就会出现unresolved external symbol "void __cdecl av_register_all(void)"的错误,好像就静态库没加载一样?为什么?那里的配置问题吗?

------解决方案--------------------------------------------------------
1 你打开 avcodec.h 
2 在这两行的
#ifndef AVCODEC_H
#define AVCODEC_H
 下面加入如下3行:

#ifdef __cplusplus
 extern "C" {
 #endif

 
3 然后在 
#endif /* AVCODEC_H */ 
这行上面加入如下3行
#ifdef __cplusplus
}
#endif

保存后即可。
------解决方案--------------------------------------------------------
探讨
1 你打开 avcodec.h
2 在这两行的
#ifndef AVCODEC_H
#define AVCODEC_H
下面加入如下3行:

#ifdef __cplusplus
extern "C" {
#endif


3 然后在
#endif /* AVCODEC_H */
这行上面加入如下3行
#ifdef __cplusplus
}
#endif

保存后即可。
  相关解决方案