根据 minitube 的作者的说法,最新版本的 minitube 需要 libmpv => 0.29.0 不是由存储库或通过ppa交付的。ubuntu 18.04LTS 提供的是 libmpv 0.27.0。
所以我认为:
如果我自己构建 libmpv,我可以构建最新版本的 minitube!!!!
所以我安装了构建微型管所需的东西,除了libmpv-dev
:
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 repo。之后我得到以下命令序列
cd mpv-build
echo --enable-libmpv-shared > mpv_options
./use-mpv-custom v0.29.0
./update
./rebuild -j4
sudo ./install
之后我尝试在克隆 minitube github repo并给出以下命令序列后构建 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
你知道如何在 ubuntu 18.04LTS 中成功构建它吗?
libmpv => 0.29.0 (0.29.1~bionic2) 由 via ppa提供。
您是否尝试过删除任何 libmpv 软件包?跑:
然后安装声音所需的软件包:
之后使用以下步骤重新编译:
还要让
LD_LIBRARY_PATH
to 指向/usr/local/lib
via:对于更永久的结果,请使用以下任一命令: