在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脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

Linux CPU飙升排查五步法解读

《LinuxCPU飙升排查五步法解读》:本文主要介绍LinuxCPU飙升排查五步法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录排查思路-五步法1. top命令定位应用进程pid2.php top-Hp[pid]定位应用进程对应的线程tid3. printf"%