在windows中使用mingw编译vtk存在不少问题, 测试了几个高于vtk-v9.1.0的版本都存在一些问题导致无法正常编译, 本文记录下编译过程
相关资源下载地址
cmake-3.31.4-windows-x86_64.msi
VTK编译 & 安装
- 前置操作: 将Qt5.15.2中的mingw810_64的bin目录添加到系统环境变量中,并重启操作系统, 如:
C:\Qt\Tools\mingw810_64\bin
打开
C:\Qt\Tools\mingw810_64\x86_64-w64-mingw32\include\winerror.h
文件搜索ERROR_INCORRECT_SIZE __MSABI_LONG
, 查看该定义下面是否有以下定义, 没有的话加上:#define ERROR_SYMLINK_CLASS_DISABLED 1463 #define ERROR_SYMLINK_NOT_SUPPORTED 1464 #define ERROR_XML_PARSE_ERROR 1465 #define ERROR_XMLDSIG_ERROR 1466 #define ERROR_RESTART_APPLICATION 1467 #define ERROR_WRONG_COMPARTMENT 1468 #define ERROR_AUTHIP_FAILURE 1469 #define ERROR_NO_NVRAM_RESOURCES 1470
-
下载并安装cmake
-
下载并解压vtk-v9.1.0
-
进入vtk-v9.1.0目录下创建build文件夹
-
打开cmake-gui对vtk-v9.1.0进行配置
设置源码和编译路径
点击Configure按钮, 选择
MinGW Makefiles
, 然后点击Finish需要等待CMake进行一些配置, 然后会出现一些新的选项, 下面是一些我们要配置的选项, 先选中界面上的Advanced复选框:
Name Value 描述 CMAKE_CXX_FLAGS -fcommon - CMAKE_C_FLAGS -fcommon - CMAKE_BUILD_TYPE Release 以Release的模式进行编译 CMAKE_INSTALL_PREFIX C:\Library\VTK 执行make install时的安装路径 VTK_GROUP_ENABLE_Qt YES 使能Qt选项 然后再次点击Configure按钮, 现在把Advanced复选框取消选中, 可以看到最上面有以下三个配置项, 请根据我的进行修改:
Name Value 描述 Qt5_DIR C:\Qt\5.15.2\mingw81_64\lib\cmake\Qt5 Qt5路径 Qt6_DIR Qt6_DIR-NOTFOUND Qt6路径(这里不需要配置) VTK_QT_VERSION 5 使用Qt5 然后再次点击Configure按钮, 这时候会发现多出来很多Qt相关的配置项, 直接再次点击Configure按钮, 配置项的红色区域全部消失, 然后点击Generate按钮生成
-
打开CMD, 进入
vtk-v9.1.0\build
目录, 然后执行以下命令开始编译:mingw32-make.exe -j 16
-
最后执行安装指令, 将动态库发布到
CMAKE_INSTALL_PREFIX
参数指定的目录下mingw32-make.exe install