vtk 源码编译

Alt text

源码下载

开发版本: https://gitlab.kitware.com/vtk/vtk

也可以直接从官网上下载稳定的版本.截止到目前最新版本是vtk-9.3.0版本.

源码编译

整个VTK项目使用vs2022中的cl.exe编译器进行编译。cl编译器和mingw64编译器他们编译出来的符号可能不一样,需要注意如何之后使用vtk的库时,如果使用mingw64的环境的话,尽量使用相同一套的编译器。

预先准备

  1. 在编译vtk过程中需要将QT和MPI等相关的选项给打开。我这里用的qt版本是Qt_5.15.2需要安装对应qt版本(VS对应的是msvc2019_64编译出来的库,如果是mingw64编译器对应的库则是minw81_64)。
    MSMPI官网下两个安装包都进行安装即可。
    QT相关的路径
    MSMPI
  2. 在系统的path路径中能找到cmake的命令.
    系统中识别到cmake的命令

开始编译

  1. 解压VTK-9.3.0代码(我解压的目录放在D:\work)
    解压vtk目录
  2. 新建编译目录build(跟源码同一个目录级别 D:\work\build)
  3. 开始配置和编译、安装
1
2
3
4
5
6
7
8
9
10
#1.配置
# -B 表示编译输出的目录 -S 表示源码的目录 -DQT5_DIR 找到对应qt5Config.cmake的目录 -G 表示使用vs 进行编译 -D cmake_build_type 表示编译的类型
# -DVTK_GROUP_ENABLE_Qt=WANT -DVTK_USE_MPI=ON 表示使用QT和MPI即可
cmake -B ./build -S .\VTK-9.3.0\ -DQT5_DIR="C:\\Qt\\5.15.2\\msvc2019_64\\lib\\cmake\\Qt5" -G "Visual Studio 17 2022" -DVTK_GROUP_ENABLE_Qt=WANT -DVTK_USE_MPI=ON -DCMAKE_INSTALL_PREFIX="./install"

#2. 编译 (表示编译成release版本) -j 8 表示使用多线程进行编译
cmake --build ./build --config Release --target ALL_BUILD -j 10

#3. 安装
cmake --build ./build --config Release --target install -j 10

后续如果使用vtk需要进行调试代码的话,最好再编译一个debug版本的,方便debug模式进行调试,只需要将--config Release 改成--config Debug即可,重新执行编译和安装两个步骤。同时debug编译出来的库是带后缀*d.dll.

结果

整个工程项目的目录情况

目录结构

编译出来的库文件既有debug的库和release的库

编译出来的目录