Kdenlive/Development/WindowsBuild: Difference between revisions

From KDE Community Wiki
(→‎Installing MXE dependencies: adding yasm dependency)
(Add msys2 script instructions)
Line 1: Line 1:
Different efforts are currently being led to make building Kdenlive on Microsoft Windows possible.
Different efforts are currently being led to make building Kdenlive on Microsoft Windows possible.
== Compiling on Windows in MSYS2 bash shell ==
* [http://www.msys2.org/ Download MSYS2] (x86_64 preferred) and install this unix-like environment for Windows.
* Then download our [https://cgit.kde.org/kdenlive.git/plain/packaging/kdenlive-msys2.sh build script] to the directory where you want it to work.
* From a mingw64 shell, "cd" to that directory and run the script ("./kdenlive-msys2.sh")
* Answer "yes" to package manager questions (pacman) to update build system and download dependencies
* Wait for MLT & Kdenlive to build
* Run Kdenlive from "/mingw64/bin/kdenlive"


== Cross compiling on GNU/Linux using [http://mxe.cc/ MXE] ==
== Cross compiling on GNU/Linux using [http://mxe.cc/ MXE] ==

Revision as of 14:01, 1 December 2018

Different efforts are currently being led to make building Kdenlive on Microsoft Windows possible.

Compiling on Windows in MSYS2 bash shell

  • Download MSYS2 (x86_64 preferred) and install this unix-like environment for Windows.
  • Then download our build script to the directory where you want it to work.
  • From a mingw64 shell, "cd" to that directory and run the script ("./kdenlive-msys2.sh")
  • Answer "yes" to package manager questions (pacman) to update build system and download dependencies
  • Wait for MLT & Kdenlive to build
  • Run Kdenlive from "/mingw64/bin/kdenlive"

Cross compiling on GNU/Linux using MXE

You should first follow the steps necessary to build Kdenlive on GNU/ Linux.

Getting and configuring MXE

Then, on the level where you cloned the kdenlive repository, you should clone a special version of MXE (M cross environment):

git clone https://github.com/vpinon/mxe.git

Then create a settings.mk file with the following command (copy/paste the whole block)

cat >mxe/settings.mk <<EOF
MXE_TARGETS := x86_64-w64-mingw32.shared.posix
override MXE_PLUGIN_DIRS += plugins/multimedia plugins/kdeframeworks plugins/apps
kdenlive_SOURCE_TREE := $PWD/kdenlive
EOF

Installing MXE dependencies

MXE requires the following dependecies (many of which should already be on your system, since you built the GNU/Linux version):

sudo apt install \
    autoconf \
    automake \
    autopoint \
    bash \
    bison \
    bzip2 \
    flex \
    g++ \
    g++-multilib \
    gettext \
    git \
    gperf \
    intltool \
    libc6-dev-i386 \
    libgdk-pixbuf2.0-dev \
    libltdl-dev \
    libssl-dev \
    libtool-bin \
    libxml-parser-perl \
    make \
    openssl \
    p7zip-full \
    patch \
    perl \
    pkg-config \
    python \
    ruby \
    scons \
    sed \
    unzip \
    wget \
    yasm \
    xz-utils

Building kdenlive with MXE

cd mxe
make kdenlive
make gdb  #for debugging
plugins/apps/deploy_kdenlive.sh

Debugging

In case of crash, look for kdenlive PID in the task manager, start gdb:

gdb

And in gdb:

 (gdb)attach PID

Porting the MLT framework to CMake

To be able to compile Kdenlive with MSVC (Microsoft Visual C++ compiler and libraries toolset). (Elie).