根据minitube的作者,minitube的最新版本需要libmpv => 0.29.0,而这不是由存储库或通过ppa提供的。ubuntu 18.04LTS交付的是libmpv 0.27.0。
所以我想:
如果我自己构建libmpv,我就可以构建最新版本的minitube!
因此,除了libmpv-dev
之外,我还安装了构建minitube所需的程序:
sudo apt install build-essential qt5-default qttools5-dev-tools qt5-qmake qtdeclarative5-dev libqt5sql5-sqlite libqt5x11extras5-dev
以及对libmpv的要求:
sudo apt-get install autoreconf lilfreetype-dev libfribidi-dev libfontconfig-dev yasm
我克隆了mpv-build
github 存储库。之后,我将执行以下一系列命令
cd mpv-build
echo --enable-libmpv-shared > mpv_options
./use-mpv-custom v0.29.0
./update
./rebuild -j4
sudo ./install
之后,我尝试在克隆minitube 存储库并给出以下命令序列之后构建minitube:
cd mintube
qmake "DEFINES += APP_GOOGLE_API_KEY=YourAPIKeyHere"
make
但我得到了以下错误:
build/obj/mpvwidget.o: In function `MpvWidget::~MpvWidget()':
mpvwidget.cpp:(.text+0x19b): undefined reference to `mpv_render_context_free'
build/obj/mpvwidget.o: In function `non-virtual thunk to MpvWidget::~MpvWidget()':
mpvwidget.cpp:(.text+0x1f7): undefined reference to `mpv_render_context_free'
build/obj/mpvwidget.o: In function `MpvWidget::initializeGL()':
mpvwidget.cpp:(.text+0x399): undefined reference to `mpv_render_context_create'
mpvwidget.cpp:(.text+0x3b9): undefined reference to `mpv_render_context_set_update_callback'
build/obj/mpvwidget.o: In function `MpvWidget::paintGL()':
mpvwidget.cpp:(.text+0x78c): undefined reference to `mpv_render_context_render'
build/obj/mpvwidget.o: In function `MpvWidget::onFrameSwapped()':
mpvwidget.cpp:(.text+0xb5): undefined reference to `mpv_render_context_report_swap'
build/obj/mpvwidget.o: In function `MpvWidget::maybeUpdate()':
mpvwidget.cpp:(.text+0x807): undefined reference to `mpv_render_context_report_swap'
collect2: error: ld returned 1 exit status
Makefile:630: recipe for target 'build/target/minitube' failed
您知道如何在Bubuntu18.04LTS中成功地构建它吗?
发布于 2019-06-22 04:48:16
libmpv => 0.29.0 (0.29.1~bionic2),通过ppa传递。
sudo add-apt-repository ppa:mc3man/bionic-media
sudo apt -y upgrade
https://askubuntu.com/questions/1128842
复制相似问题