首页 热点资讯 义务教育 高等教育 出国留学 考研考公

ffmpeg开发问题

发布网友 发布时间:2022-04-20 07:59

我来回答

3个回答

热心网友 时间:2023-07-17 09:21

你这个问题,在于头文件中声明的函数,在你的lib文件(这个lib文件是静态库还是引入库??)中没有相应的函数原型,所以导致了这一问题,我曾经使用过APE、FLAC、NAAC、MPG123等库,也有出现类似问题,后来发现,是版本没弄好以及自己导出的函数声明不匹配(在类中,有时候可能需要虚函数),把头文件和lib文件中的函数一一对应起来就可以了。
提供了动态链接库的第三方库,一般来说不需要你重新编译,你只要调用就可以了,当然,如果你要像“千千静听”那样,使用自己开发的音频引擎,那肯定需要把这些解码库编译成静态库,然后再加入到自己的动态库中,可以使用同样的接口函数,这样就方便你音频插件的管理了。

热心网友 时间:2023-07-17 09:21

不知道你指的无法解析外部符号是哪个符号,能有具体点的信息么,以便确认是在哪个模块里的

==========================

看我的例子吧,我的文件是test.cpp

#include <stdio.h>

#pragma comment(lib , "avcodec.lib")

#ifdef __cplusplus
extern "C"
{
#endif

//这里#include 各种ffmpeg的头文件 我偷懒直接写某个函数的定义了
const char *avcodec_license(void);

#ifdef __cplusplus
}
#endif

int main()
{
const char* p = avcodec_license();

if( p )
{
printf( "%s\n" , p );
}

return 0;
}

热心网友 时间:2023-07-17 09:22

我也遇到了这个问题,不过是通过如下方式解决的:看哪些提示的函数是不能解析的,然后定位到函数头文件,找到我们从网上下载的ffmpeg文件,,然后右击你的C++项目——属性——C/C++——输入——附加依赖项 把与之前所找的与头文件同名的lib文件名添加到其中即可(如 对应为swscale.h文件,则添加swscale.lib到其中),不信你加一个在运行一下程序,是不是发现未解析符号错误的提示少了很多

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com