openSUSUE系统中源码编译Kdenlive版本v21.08.1方法

openSUSUE系统中源码编译Kdenlive版本v21.08.1方法

编译Kdenlive过程

Kdenlive官方提供的是Ubuntu的编译方法,本问内容是在openSUSE 15.3下编译方法,编译过程相同,只是依赖包名称上存在一些不同。
编译依赖条件: Qt >= 5.12.0 , KF5 >= 5.76.0,MLT >= 7.0.0

安装编译工具

如果你是第一次编译源码,那么你必须安装编译器套件后才可以编译代码。

sudo zypper install gcc gcc-c++ git cmake cmake-gui extra-cmake-modules libSM-devel

安装KDEFrame5和Qt5依赖库

sudo zypper install karchive-devel kbookmarks-devel kcoreaddons-devel kconfig-devel \
kconfigwidgets-devel kdbusaddons-devel kio-devel kwidgetsaddons-devel \
knotifyconfig-devel knewstuff-devel kxmlgui-devel kdeclarative-devel \
knotifications-devel kguiaddons-devel ktextwidgets-devel purpose-devel \
kiconthemes-devel kdoctools-devel kcrash-devel kfilemetadata5-devel kio \
kinit libqt5-qtdeclarative-devel libqt5-qtsvg-devel libqt5-qtquickcontrols \
libqt5-qtmultimedia-devel libQt5QuickControls2-devel breeze5-icons \
libmlt-devel libmlt++-devel rttr-devel  libqt5-qtnetworkauth-devel

安装mlt++7库

从“21.08.1”版本之后就需要使用mlt++7.0.0版本库了,所以如果不满足要求的用户可以自己升级或者按照下面方法源码安装一下。

下载源码地址 https://github.com/mltframework/mlt/releases/latest
当前2021/09时间的最新版本为7.0.1,我们就以这个版本为例:

wget -c https://github.com/mltframework/mlt/releases/download/v7.0.1/mlt-7.0.1.tar.gz

tar zxvf mlt-7.0.1.tar.gz
cd mlt-7.0.1
mkdir build/
cd ./build/
cmake -DCMAKE_INSTALL_PREFIX=/usr ../
make -j$(nproc)

# 安装
sudo make install

如果不希望影响当前系统使用的mlt库,可以自定义安装目录,例如: -DCMAKE_INSTALL_PREFIX=/apps/mlt7

自定义mlt++库时需要设置一些环境变量,保证编译环境可以找到这个库,例如设置 PKG_CONFIG_PATH 变量:

export PKG_CONFIG_PATH=/apps/mlt7/lib64/pkgconfig:$PKG_CONFIG_PATH
export PATH=/apps/mlt7/bin:$PATH

正式开始

1.下载源码

当前2021/09最新版本是 v21.08.1(使用命令git tag|tail -5获取)

git clone https://invent.kde.org/multimedia/kdenlive
git checkout v21.08.1

编译代码

如果是使用自定义环境记得执行如下两个环境变量设置:

export PKG_CONFIG_PATH=/apps/mlt7/lib64/pkgconfig:$PKG_CONFIG_PATH
export PATH=/apps/mlt7/bin:$PATH

接下来,开始编译代码吧:

cd kdenlive
mkdir build
cd build

cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr -DRELEASE_BUILD=OFF -D
make -j$(nproc)

# 安装编译完的kdenlive程序
sudo make install

安装好后,可以直接执行 kdenlive 验证是否成功运行。

问题记录

  1. Python环境我使用的是Anaconda3, 这导致使用cmake生成Makefile时自动选择了Anaconda3的Qt库,编译最后会因为QT库版本问题报各种函数找不到的错误信息的。解决方法是使用 cmake-gui 命令将选择了 anaconda3 的库路径修改为 /usr/lib64/cmake 下面的路径,qmake 和 Python 使用 /usr/bin/ 目录下的 ,修改好后点击 generate 无报错即可退出,再执行 make 命令编译了。
转载本文时请注明出处及本文链接地址openSUSUE系统中源码编译Kdenlive版本v21.08.1方法

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注