Qt 5.x Inventor Target for Linux Platform - magic-lantern-studio/mle-documentation GitHub Wiki

This documentation discusses how to set up a Qt Inventor Target for the Ubuntu 22.04 LTS 64-bit platform. The Qt Inventor Target utilizes the Coin and SoQt libraries from the Coin3D platform.

Table of Contents

Install Qt 5

See the Install Qt page for instructions on how to install Qt.

Build Qt 4.8.7 from Source [deprecated]

This information describes how to build Qt 4.8.7 from scratch.

Download Qt 4.8.7

Download the Qt 4.8.7 open source, qt-everywhere-opensource-src-4.8.7.tar, package from here. You will need an account with Qt to obtain the open source.

You will need to build the Qt 4.8.7 open source first and then install it to known location that can be used by the Qt toolchain.

Unpack Qt 4.8.7 SDK

Unpack the qt-everywhere-opensource-src-4.8.7.tar package by doing the following:

mkdir <workspace>
cd <workspace>
tar -xvf qt-everywhere-opensource-src-4.8.7.tar

<workspace> is the directory where you plan to build the Qt source. The directory, qt-everywhere-opensource-src-4.8.7, will be created.

Build Qt 4.8.7 SDK

Build instructions may be found in the HTML file doc/html/installation.html. Build the Qt 4.8.7 SDK by doing the following:

cd qt-everywhere-opensource-src-4.8.7
./configure -prefix $HOME/bin/Qt/4.8.7

Type 'o' to use the Open Source Edition. Then type 'yes' to accept the license agreement.

This will create a build configuration that should install the build artifacts under $HOME/bin/Qt/4.8.7. You can now run:

make

Install Qt 4.8.7 SDK

Install the SDK by using:

make install

Install Coin 3D

Coin and SoQt are requirements for building and running the Rehearsal Player and Inventor targets on a Linux platform. Instructions for building these dependencies can be found at

Build Generic Linux Modules

Use the instructions found at SDK Build Environment for Qt Linux Platform to generate the runtime libraries and mastering tools for the Linux platform.

Essentially, import the following Qt projects into the QtCreator IDE and use the Build menu to build and manage the components.

Build the Core util Library for Tools

  • A qmake project is also available under $MLE_HOME/Core/util/qt/mlutil/mlutil.pro

Build the Core math Libraries

  • A qmake project is also available under $MLE_HOME/Core/math/qt/mlmath/mlmath.pro

Build the Digital Workprint Libraries

  • A qmake project is also available under $MLE_HOME/DigitalWorkprint/lib/qt/DWP/DWP.pro
  • A qmake project for DwpChecker is available under $MLE_HOME/DigitalWorkprint/lib/qt/DwpChecker/DwpChecker.pro

Build the Digital Playprint Libraries

A qmake project is also available under $MLE_HOME/DigitalPlayprint/lib/qt/DPP/DPP.pro

Build the Digital Playprint Runtime Library for Tools

  • A qmake project is also available under $MLE_HOME/DigitalPlayprint/runtime/qt/playprint/playprint.pro

Build the Mastering Library and Tools

  • A qmake project is also available under $MLE_HOME/DigitalPlayprint/master/qt/DPPGen/DPPGen.pro
  • A qmake project is also available under $MLE_HOME/DigitalPlayprint/master/qt/gentables/gentables.pro
  • A qmake project is also available under $MLE_HOME/DigitalPlayprint/master/qt/gengroup/gengroup.pro
  • A qmake project is also available under $MLE_HOME/DigitalPlayprint/master/qt/genscene/genscene.pro
  • A qmake project is also available under $MLE_HOME/DigitalPlayprint/master/qt/genmedia/genmedia.pro
  • A qmake project is also available under $MLE_HOME/DigitalPlayprint/master/qt/genmakefile/genmakefile.pro
  • A qmake project is also available under $MLE_HOME/DigitalPlayprint/master/qt/genppscript/genppscript.pro
  • A qmake project is also available under $MLE_HOME/DigitalPlayprint/master/qt/gendpp/gendpp.pro

Build the SDK Properties

  • A qmake project is also available under $MLE_HOME/Parts/props/qt/mleprops/mleprops.pro

Build Qt Target Parts

You will also need to build components (Actors/Roles/Mediarefs/Sets/Stages) found on that page since those instructions target the Coin 3D Inventor platform.

⚠️ **GitHub.com Fallback** ⚠️