Instructions to compile and install vtk from sources on a Linux machine
To get VTK libraries running within Qt 5 from sources is not so hard. This is a quick reference guide to do so.
What’s needed:
- linux machine (I use Ubuntu 18.04)
- last vtk sources (tested with sources vtk 8.1)
- Qt5 IDE (at the time of writing, I suggest to use 5.12.6 LTS version)
- Qt Creator
- CMake
Qt IDE is quite easy to install. I suggest to use latest Qt version (just use the online installer)
Before compilation just be sure to have all libraries installed:
- sudo apt-get install build-essential libgl1-mesa-dev
Download VTK source code:
- wget https://www.vtk.org/files/release/8.1/VTK-8.1.0.tar.gz
- wget https://www.vtk.org/files/release/8.1/VTKData-8.1.0.tar.gz
- tar VTKData-8.1.0.tar.gz and copy md5 to VTK-8.1.0/build/ExternalData/Objects/MD5
then extract:
- cd VTK-8.1.0
- mkdir build
- cd build
- cmake-gui ..
Be sure to have some options flag active:
- VTK_Group_Qt ON
- VTK_QT_VERSION 5
- QT5_DIR /opt/qt/5.12.6/gcc_64/lib/cmake/Qt5
- VTK_RENDERING_BACKEND OpenGL2
- BUILD_SHARED_LIBS ON
- CMAKE_BUILD_TYPE Release
- CMAKE_INSTALL_PREFIX /usr/local
Now you can build and install to directory chosen (i.e. /usr/local/include/vtk-8.1 and /usr/local/lib/cmake/vtk-8.1) :
- make -j8
- sudo make-j8 install
Install QVTKWidget plugin by copying libQVTKWidgetPlugin.so to the install path: /usr/lib/x86_64-linux-gnu/qt5/plugins/designer
Then:
- cd build/lib
- ls -al libQVTKWidgetPlugin.so
- sudo cp libQVTKWidgetPlugin.so /usr/lib/x86_64-linux-gnu/qt5/plugins/designer
- check available plugins: ls /usr/lib/x86_64-linux-gnu/qt5/plugins/designer (it should output a list)
Now in QT Creator you should have QVTKWidget:
You can use then the widget to design your application. By the way, this has been deprecated and you should use QVTKOpenGLWidget instead. You can promote to this the existing widget.
In main don’t forget to set QSurfaceFormat by adding : QSurfaceFormat::setDefaultFormat(QVTKOpenGLWidget::defaultFormat());
This is all. Now you can use full vtk power to design your 3d application !
Great post.
Hello Justin, thank you very much for caring! Your site looks very nice and professional to me! Unfortunately my free time languish, but I hope to post something more in the next days 😉
The theme I use is “Winter Blues”, hope it helps!!
Like!! I blog frequently and I really thank you for your content. The article has truly peaked my interest.
thank you very much for your comment, very appreciated 🙂