AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1128842
Accepted
Dimitrios Desyllas
Dimitrios Desyllas
Asked: 2019-03-27 05:44:27 +0800 CST2019-03-27 05:44:27 +0800 CST 2019-03-27 05:44:27 +0800 CST

使用已编译的 libmpv v0.29.0 构建 minitube 失败

  • 772

根据 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-buildgithub 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 中成功构建它吗?

software-installation compiling make 18.04
  • 2 2 个回答
  • 1234 Views

2 个回答

  • Voted
  1. exodoeviterno
    2019-06-22T20:48:16+08:002019-06-22T20:48:16+08:00

    libmpv => 0.29.0 (0.29.1~bionic2) 由 via ppa提供。

    sudo add-apt-repository ppa:mc3man/bionic-media
    
    sudo apt -y upgrade
    
    • 2
  2. Best Answer
    Dimitrios Desyllas
    2019-03-27T12:39:08+08:002019-03-27T12:39:08+08:00

    您是否尝试过删除任何 libmpv 软件包?跑:

    sudo apt-get purge libmpv-dev libmpv && sudo apt-get autoremove
    

    然后安装声音所需的软件包:

    sudo apt-get install libmp3lame-dev libx246-dev libfbdc-aac-dev
    

    之后使用以下步骤重新编译:

    cd mpv-build
    echo --enable-libmpv-shared > mpv_options
    # Enable sound on minitube videos
    echo --enable-libx264 >> ffmpeg_options
    echo --enable-libmp3lame >> ffmpeg_options
    echo --enable-libfdk-aac >> ffmpeg_options
    ./use-mpv-custom v0.29.0
    ./update
    ./rebuild -j4
    sudo ./install
    

    还要让LD_LIBRARY_PATHto 指向/usr/local/libvia:

    export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
    

    对于更永久的结果,请使用以下任一命令:

    • 仅适用于您的本地用户:
    echo "export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH" >> ~/.profile 
    
    • 对于所有用户/全球使用:
    echo "LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH" | sudo tee -a /etc/environment
    
    • 0

相关问题

  • 如何在没有 root 访问权限的情况下安装软件包?

  • 设置 LAMP 堆栈的最简单方法是什么?

  • 我应该在哪里安装 sagemath?

  • How do I install Adobe Flash player?对于 11.10 及更高版本明确修复 11.10 上的 64 位 Flash

  • 如何设置软件中心为非 root 用户安装软件?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve