我按照README和INSTALL说明中的说明编译了libav。
现在我试图在Qt创建者中关注此example。
我已经想出如何在项目文件中包含我需要的库:
LIBS += \
/usr/local/lib/libavformat.a \
/usr/local/lib/libavutil.a
并且还需要将include指令包装在extern中:
extern "C" {
#include <libavformat/avformat.h>
#include <libavutil/dict.h>
}
问题在于,当我尝试编译我的Qt项目时,我只是得到了大约(大约700个)关于&#34;未定义的对av_new_packet&#39;&#34;&#39;&#39;&#39;&#39;&#39;&#39;来自整个图书馆的功能。
我需要做些什么才能让它发挥作用?
更新
我注意到 - 就像我的眼睛因为这么晚才变得模糊 - 错误发生在下载文件夹中的头文件中?这是我运行configure和make命令的文件夹,然后在/ usr / local / lib中生成我链接到的libav * .a库。这是正确的吗?如果不是,我该如何解决?
答案 0 :(得分:0)
只是答案的一部分,但我最终删除了内置源代码库并下载了Ubuntu 14.04的libav * -dev软件包。
然后我可以链接
上安装的共享对象文件 /usr/lib/x86_64-linux-gnu/libavformat.so
和
/usr/lib/x86_64-linux-gnu/libavutil.so
这消除了这些问题 - 可能是因为Ubuntu版本与旧版本的版本挂钩。