前言
最近由于有项目要用到VTK,所以想重新学一遍VTK。当然要从编译VTK开始。因为我们不打算用Qt,所以就不安装Qt的东西,具体安装环境如标题所示。
请确保你的电脑提前安装了VS2022和CMake3.26.4。
一、下载VTK源码
VTK官网: 下载界面
zip版本是为了windows的。
二、生成解决方案
以下路径全按我本地安装来写,具体需要修改成你们的路径。
- 将下载的VTK-8.2.0.zip文件解压到D:\ThirdPartLibs,得到D:\ThirdPartLibs\VTK-8.2.0;
- 进入到D:\ThirdPartLibs\VTK-8.2.0中;
- 新建一个build文件夹,用以存储生成VTK解决方案的地方;
- 新建一个prefix文件夹,用以VTK项目生成后创建的bin\include\lib文件。
- 以管理员身份运行CMake;
- 在 Where is source code 输入 D:\ThirdPartLibs\VTK-8.2.0;
- 在 Where to build binaries 输入 D:\ThirdPartLibs\VTK-8.2.0\build
- 勾选Grouped,为了使得编译中的变量能够有条理被阻止起来;
- 点击Configure,选择 VS2022,其它不用动(默认是x64),点击确认即可;
- 等待编译(大概5分钟左右);
- 然后就会冒出一堆红,我这里修改的是:
- BUILD_EXAMPLE:编译VTK示例;
- BUILD_SHARED_LIBS:编译动态库;
- CMAKE_INSTALL_PREFIX:VTK项目生成后创建的bin\include\lib文件路径;
- VTK_Group_Imaging:编译Imaging模块,包括图像处理、配准等算法。
- 设置上述东西后,继续点击Configure;
- 顺利的话,就会显示:Configuring done (12.0s);
- 继续点击Generate,显示:Generating done (5.0s) 则说明编译成功了。
三、编译安装VTK项目
- 进入到D:\ThirdPartLibs\VTK-8.2.0\build,找到VTK.sln文件,双击打开;
- 将项目配置设置为Debug/x64,然后右键ALL_BUILD项目,点击生成;
- 等待20分钟左右,编译成功即可;
- 鼠标右键 INSTALL -> 仅用于此项目 -> 仅生成INSTALL(B)
然后我们就能得到_d.dll结尾的debug模式下的VTK; - 将项目配置重新设置为Release/x64,重复步骤2~4;
四、报错
我在用CMake构建VTK解决方案时出现两个错误:
- CMake Error at C:/Program Files/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
解决:安装Doxygen(Doxygen的安装和使用)。
注意将安装后的doxygen.exe路径加到系统环境变量中。 - CMake Error at C:/Program Files/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find Perl (missing: PERL_EXECUTABLE)
解决:安装Perl(官网下载太慢,直接网盘下载。链接:https://pan.baidu.com/s/1mKoqPAIU_rWZC-9ZrGPApA,提取码:tlxt)。
注意将安装后的Perl.exe路径加到系统环境变量中。
总结
注意CMake过程中的Error