But though I had set the install-prefix to specify the install path, after the ninja done, the install directory is still empty, where is my compile result ??? what should I do ???
it is so so so so so so so so so diffcullt to built VTK9.1, I just want use vtk with QT6, I had encounter too many issues, it makes me confuse and had taken me too too too too many many many time, what a badly software!!!
Believe it or not, Kitware invented CMake exactly to make our lives easier when it comes to building VTK. This meta-make does its job so good that it has been adopted in almost all modern C++ projects. VTK’s configuration indeed has a slow learning curve. Give it some time to get acquainted to.
Hi guys:
Actually, I had tried to use cmake + mingw to build VTK for Qt, But it had encounter too many many many many issues, and it takes me two weeks to built, so I had to gave up this tool chains, the official recommend tool chains of VTK is VS + Ninja + cmake, and I had compiled it successfully, but msvc is not a cross-plate tool, it makes me crazy and depressed!! the ITK is not support msvc very well too!!
to prepare the develop environment almost lead me give up to learn itk + vtk!!
Yes, MSVC is a Windows-only compiler. But you don’t need to worry about this. CMake is a meta-make, that is, it generates a makefile or VS solution file that will work on your platform and selected toolchain. The fact that MSVC is Windows-only is no more of a problem if you use a meta-make likc CMake, Autotools, QMake, etc.
But, if you still want to use MinGW64 (don’t use MinGW, which is a 32-bit only compiler), VTK and ITK compile just fine with it. Still, you don’t need to compile them if you don’t feel comfortable yet. I suggest you to install MSYS2, which is a POSIX-like evironment for Windows that comes with a Linux-like terminal to enter commands and a handy tool called pacman. pacman is a package manager for C/C++ libraries just like conda, pip install, yum, synaptic, etc. For example pacman -S mingw-w64-x86_64-toolchain installs MinGW64 in your MSYS2 environment. Then just use pacman to install all the libraries you want without building them. For example: pacman -S mingw-w64-x86_64-vtk will install a MinGW64-compiled VTK in your system.
If you still want to build all your dependencies, using Conan (https://conan.io/) is also a good solution. Conan is a C++ dependency manager like Java’s Maven. It’ll download, build and manage build artifacts automatically, provided there are the so-called “Conan recipes” for them. Conan recipes are Python scripts that contain instructions on how to build/acquire the dependencies, download sources, etc. You can even write a Conan recipe to build your own software. Conan facilitates a lot CI/CD especially if you need to deliver executables for multiple platforms.