编译vlc-3.0.8遇到的几个问题

因为要测试自己写的rtsp服务器,就自己在deepin上编译vlc,让vlc访问流。

编译过程参照vlc ,ffmpeg列出的Dependencies,缺啥补啥。

http://www.linuxfromscratch.org/blfs/view/svn/multimedia/vlc.html

http://www.linuxfromscratch.org/blfs/view/svn/multimedia/ffmpeg.html

configure的时候报错有几个比较特殊

checking for QT... no
configure: error: No package 'Qt5Core' found
No package 'Qt5Widgets' found
No package 'Qt5Gui' found
No package 'Qt5Svg' found.

我编译vlc之前确实已经安装了Qt5.1.12,可能是PKG_CONFIG的问题

pc@123-PC:/media/user/Data/vlc/vlc-3.0.8$ export PKG_CONFIG_PATH=/home/user/Qt5.12.5/5.12.5/gcc_64/lib/pkgconfig/
pc@123-PC:/media/user/Data/vlc/vlc-3.0.8$ echo $PKG_CONFIG_PATH
/home/user/Qt5.12.5/5.12.5/gcc_64/lib/pkgconfig/

再configure,找到Qt了,vlc-3.0.8要求的是Qt5.13,12也行。

报live555没找到的错,

下载live555-latest编译,我是照老版本的vlc编译配置方法,把live拷贝到/usr/lib下,然后设置了几个配置参数,但是configure的时候还是报找不到live555的错,后来看了一篇博文,https://blog.csdn.net/Tosonw/article/details/89509356 还是得配置pkgconfig

sudo vim /usr/lib/x86_64-linux-gnu/pkgconfig/live555.pc

内容如下

prefix=/usr/local
libdir=/usr/local/lib
includedir=${prefix}/include
Name: live555
Description: multimedia RTSP streaming library
Version: 2019.11.05
Cflags: -I${includedir}/liveMedia -I${includedir}/groupsock -I${includedir}/BasicUsageEnvironment -I${includedir}/UsageEnvironment
Libs: -L${libdir} -lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment

nasm-2.14.02 和yasm两个库都要装,nasm-2.13.03在gcc 9.2.1下编译有几个函数报错,暂时没弄清楚原因,先做个记录。

然后继续configure

报错4个类似下面的错

/usr/bin/ld: /usr/local/lib/libliveMedia.a(Media.o): relocation R_X86_64_PC32 against symbol `_ZTV6Medium' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value

编译器提示要recompile with -fPIC

那我就按提示把live555下liveMedia groupsock BasicUsageEnvironment UsageEnvironment四个子目录里面makefile加上-fPIC

CPLUSPLUS_FLAGS =    $(COMPILE_OPTS) -Wall -fPIC -DBSD=1 $(CPPFLAGS) $(CXXFLAGS)

然后make clean  live555,必须clean,光删除.a文件还不行,还有其他文件也要重新编译,不然继续报错。

重新make install 

最后类似这样的错误,可以自己找相关库的源码编译,也可以直接apt-iget nstall 

configure: error: No package 'alsa' found. alsa-lib 1.0.24 or later required. Pass --disable-alsa to ignore this error
apt-get install libasound2-dev

但是lua库还是得源码编译安装,然后apt-get install lua的dev

 

你可能感兴趣的:(vlc)