-
Notifications
You must be signed in to change notification settings - Fork 377
Compile YUView
If you want to compile YUView from source, here is a short how-to. We use qmake for the project so there is actually not much to consider when compiling the sources. Qt should take care of everything necessary to generate the executable. However, here is a short introduction for the supported platforms:
We have built and tested YUView using Qt 5.8 and Qt 5.11 with the following compilers:
- VC2013, VC2015
- GCC Version 5.4.0 (including MinGW-x64)
- Clang Version 6.0
On windows you will have to install Qt and a compiler. We use the Visual Studio compiler and MinGW. Both should work. If you installed this you can just compile using the YUView.pro file:
C:\Qt\somewhere\qtbase\bin\qmake.exe YUView.pro
nmake # For visual studio
make # For MinGW
You can also open the YUView.pro file in the QtCreator. Here you will have to configure the project to use a compiler (Qt should auto detect the Visual Studio and MinGW compilers) and hit the build button.
One more option is to let qmake create a visual studio project file for you:
qmake.exe -tp vc
If you are using visual studio code you can compile YUView in there as well. The following prerequirements must be met:
- Installed Qt
- Installed C++ build environment (either install Visual Studio or just the Build environment)
- Make sure
"terminal.integrated.automationShell.windows": "cmd.exe"
is set in the config so that this is not called in powershell
Use the following task.json
entry to compile using qmake
and nmake
. Correct the paths to your needs.
"tasks": [
{
"label": "Qmake debug",
"type": "shell",
"windows":{
"command": "call \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Auxiliary\\Build\\vcvars64.bat\" && \"C:\\Qt\\5.12.6\\msvc2017_64\\bin\\qmake.exe\" CONFIG+=debug",
},
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "Build",
"type": "shell",
"windows":{
"command": "call \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Auxiliary\\Build\\vcvars64.bat\" && nmake",
},
"group": {
"kind": "build",
"isDefault": true
}
}
]
The following launch.json
configuartion uses a qt5 natvis file to decorate Qt types while debugging:
"configurations": [
{
"name": "(Windows) Launch",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/build/debug/YUView.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"visualizerFile": "${workspaceFolder}/.vscode/qt5.natvis"
}
On MacOS, compilation is simple as well. You need to install XCode (from the app store) as well as Qt (from the Qt Download page). Now you can open the YUView.pro file using the QtCreator, hit configure and build YUView. Alternatively, compilation also works from the command line using qmake
and make
.
On Linux systems compiling is similarly easy. You have to install Qt and a compiler. Most Linux distributions ship with the gcc compiler so there is no need to install a compiler.
When Qt is installed, you can use qmake or the QtCreator to build YUView. On the command line you can just use qmake
and then make
. Using the creator, just open the YUView.pro file, configure the project to use a compiler (Qt should auto detect gcc) and hit the build button. Additionally you can install the program running sudo make install
. This will also install a desktop entry.
Unfortunately, it depends a little on your distribution how to obtain Qt. Here are some hints for distributions that we tested:
On Ubuntu 18, Qt5 can be easily installed using apt:
- If you don't have these installed already:
sudo apt install git build-essential
sudo apt install qt5-default libqt5charts5 libqt5charts5-dev
qmake
make
On Ubuntu 16.04, Qt5 can be easily installed using the apt install tool:
- If you don't have these installed already:
sudo apt install git build-essential
-
sudo apt install qt5-default libqt5opengl5-dev
. qmake
make
Unfortunately, qt5 is not present in the package repository for older Ubuntu versions. In Ubuntu 14.x for example, qt5 is not in the repositories. One option is to go to the qt homepage and download the latest qt version from here. Start the installer and select the latest qt-gcc version. A second option is to install qt from the following repositories:
sudo add-apt-repository ppa:beineri/opt-qt571-trusty -y
sudo apt-get update -qq
sudo apt-get install -qq qt57base; source /opt/qt57/bin/qt57-env.sh
On Arch, just use packman to update the packages/install Qt and compilation should work using qmake
and make
. If you selected the default installation, Qt should already be installed.
If you get the error cannot find -lGL
the openGL libraries were not found. These libraries are required by Qt. You will have to install these for your linux distribution. However, the libGL might already be on your system, but the compiler could just not find it. You can try locate libGL
to see if the library is already installed. If yes, you can just link it to a library search path like /usr/lib
. For example on Ubuntu 15.4 this works:
sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so
If you want to compile a debug version of YUView, you can run qmake with the CONFIG+=debug
parameter.