首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > 多媒体 >

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

2012-03-05 
FFmpeg怎么用啊?为什么我用不了里面的API函数?我下了个FFmpeg,版本是FFmpeg-full-SDK-3.2,下载完后里面

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

保存后即可。

热点排行