在Linux下编译VLC-Qt

2024-06-18 05:18
文章标签 编译 linux qt vlc

本文主要是介绍在Linux下编译VLC-Qt,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在Linux下编译VLC-Qt

  • 一、源码准备
    • 1、下载VLC源码
    • 2、下载VLC-Qt源码
  • 二、编译VLC源码
    • 1、解压VLC压缩包
    • 2、安装VLC依赖的库
    • 3、配置VLC
    • 4、编译与安装
  • 三、编译VLC-Qt源码
    • 1、安装cmake
    • 2、解压源码并进入目录
    • 3、创建编译目录并进入
    • 4、配置安装目录
    • 5、编译与安装
  • 四、报错解决
    • 1、报错(You must put some ‘source’ URIs in your sources.list)
    • 2、报错(error: “You cannot build VLC with Qt-5.5.0. You need to backport I78ef29975181ee22429c9bd4b11d96d9e68b7a9c”)

VLC-Qt:一个结合了 Qt 应用程序和 libVLC 的免费开源库。它包含了用于媒体播放的核心类,以及用于更快速地进行媒体播放器开发的一些 GUI 类。VLC-Qt就是对VLC库的进一步封装。

VLC-Qt官网:https://vlc-qt.tano.si/

示例地址:https://github.com/vlc-qt/examples

一、源码准备

1、下载VLC源码

下载地址:http://download.videolan.org/pub/videolan/vlc/2.2.4/vlc-2.2.4.tar.xz

2、下载VLC-Qt源码

下载地址:https://github.com/vlc-qt/vlc-qt

在这里插入图片描述

二、编译VLC源码

1、解压VLC压缩包

tar -xvJf vlc-2.2.4.tar.xz

注意J为大写。

2、安装VLC依赖的库

sudo apt-get build-dep vlc

报错:You must put some ‘source’ URIs in your sources.list

参考第四章,进行解决。

3、配置VLC

进入VLC源码目录

cd vlc-2.2.4

进行配置,先执行

./bootstrap

再执行

./configure

报错如下:error: “You cannot build VLC with Qt-5.5.0. You need to backport I78ef29975181ee22429c9bd4b11d96d9e68b7a9c”

参考第四章,进行解决之后继续。

4、编译与安装

编译

make

安装

sudo make install

编译安装后,即可在/usr/local/lib和/usr/local/include看到库和头文件。

我们程序调用VLC库运行时,依赖的so有libvlc.so、libvlc.so.5、libvlc.so.5.5.0、libvlccore.so、libvlccore.so.8、libvlccore.so.8.0.0共6个,如下。另外,还依赖于/usr/local/lib/vlc/plugins目录下的插件。

在这里插入图片描述

头文件目录如下:

在这里插入图片描述

三、编译VLC-Qt源码

1、安装cmake

sudo apt-get install cmake

2、解压源码并进入目录

unzip vlc-qt-master.zip
cd vlc-qt-master

3、创建编译目录并进入

mkdir build
cd build

4、配置安装目录

cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/libvlc-qt

报错如下:

CMake Error at config/Dependencies.cmake:29 (FIND_PACKAGE):
By not providing “FindQt5Quick.cmake” in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by “Qt5Quick”,
but CMake did not find one.
Could not find a package configuration file provided by “Qt5Quick”
(requested version 5.2.0) with any of the following names:
Qt5QuickConfig.cmake
qt5quick-config.cmake
Add the installation prefix of “Qt5Quick” to CMAKE_PREFIX_PATH or set
“Qt5Quick_DIR” to a directory containing one of the above files. If
“Qt5Quick” provides a separate development package or SDK, be sure it has
been installed.

解决办法:将Qt安装目录添加到CMAKE_PREFIX_PATH环境变量,如下。

export CMAKE_PREFIX_PATH=/opt/Qt5.13.0/5.13.0/gcc_64

再次执行上述cmake命令,即可执行成功。

5、编译与安装

编译

make

安装

sudo make install

安装路径/usr/local/libvlc-qt下,VLC-Qt相关库和头文件,如下所示:

在这里插入图片描述

如果我们的程序调用VLC-Qt,那么运行时,需要依赖于VLC-Qt动态库,以及底下的VLC动态库。

四、报错解决

1、报错(You must put some ‘source’ URIs in your sources.list)

原因:找不到VLC相关的源

解决办法:修改Ubuntu服务器设置,步骤如下。

(1)选择“System Settings”菜单

在这里插入图片描述

(2)选择“Software & Updates”

在这里插入图片描述

(3)先勾选“Source code”,然后选择“Download from”中的“Other…”

在这里插入图片描述

(4)展开“China”,选择阿里云“mirrors.aliyun.com”,再点击“Choose Server”

在这里插入图片描述

(5) 点击“Close”,关闭窗口

在这里插入图片描述

(6)弹出软件信息过期提示,选择“Reload”

在这里插入图片描述
在这里插入图片描述

一会后就更新完毕。

再次执行:sudo apt-get build-dep vlc,进行安装。

安装一段时间后,又报错误:

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
E: Failed to process build dependencies

我们按照提示,执行:sudo apt-get build-dep vlc --fix-missing

执行完毕,VLC依赖库,即可成功安装。

2、报错(error: “You cannot build VLC with Qt-5.5.0. You need to backport I78ef29975181ee22429c9bd4b11d96d9e68b7a9c”)

解决办法:在VLC源码目录下,configure.ac文件中找这一行,并注释掉

#PKG_CHECK_EXISTS([Qt5Core >= 5.5.0 Qt5Core < 5.6.0], [
#	AC_MSG_ERROR(["You cannot build VLC with Qt-5.5.0. You need to backport I78ef29975181ee22429c9bd4b11d96d9e68b7a9c"])
#])

如下:

在这里插入图片描述

保存后,执行如下命令:autoconf
再执行./configure命令,即可配置成功。



若对你有帮助,欢迎点赞、收藏、评论,你的支持就是我的最大动力!!!

同时,阿超为大家准备了丰富的学习资料,欢迎关注公众号“超哥学编程”,即可领取。

在这里插入图片描述

这篇关于在Linux下编译VLC-Qt的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1071398

相关文章

Linux之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

Qt中QGroupBox控件的实现

《Qt中QGroupBox控件的实现》QGroupBox是Qt框架中一个非常有用的控件,它主要用于组织和管理一组相关的控件,本文主要介绍了Qt中QGroupBox控件的实现,具有一定的参考价值,感兴趣... 目录引言一、基本属性二、常用方法2.1 构造函数 2.2 设置标题2.3 设置复选框模式2.4 是否

QT进行CSV文件初始化与读写操作

《QT进行CSV文件初始化与读写操作》这篇文章主要为大家详细介绍了在QT环境中如何进行CSV文件的初始化、写入和读取操作,本文为大家整理了相关的操作的多种方法,希望对大家有所帮助... 目录前言一、CSV文件初始化二、CSV写入三、CSV读取四、QT 逐行读取csv文件五、Qt如何将数据保存成CSV文件前言