- 软件版本
CMAKE3.8.0
Visual Studio 2017
Qt 5.9.1
VTK 8.0.0 - 安装Qt,注意选择与你安装的VS版本对应的组件
- 目录结构
- 打开CMake,如下设置
点击configure:
- 选中VTK节点中的VTK_Group_Qt, 点击Configure
- Ungrouped Entries节点,确认Qt_QMAKE_EXECUTABLE 的路径,将VTK_QT_VERSION改成5. 点击Configure
- Ungrouped Entries节点,确认Qt的各个目录,注意,如果Qt已经被添加到环境变量中,这里的目录会自动填好,如果机器上安装有多个版本的Qt或者没有添加环境变量,请一定要确认这一步,
- VTK节点,确认VTK_BUILD_QT_DESIGNER_PLUDIN已经被勾选
- CMAKE节点, CMAKE_INSTALL_PREFIX选项,该选项是VS编译输出的目录,以后要使用的库目录,包含目录等目录都会在这个目录之下,请按照自己的习惯设置,此处设置为上文建立的D:\Libraries\vtk\vtk8.0.0\VTK-install
- 点击Add Entry按钮,Name填写CMAKE_DEBUG_POSTFIX,Type选择STRING,Value填写-gd,填写完如下:设置完这一步之后,编译输出的debug库和release库的名称就会不同,这样方便以后的使用且不会在生成的时候相互覆盖.
- 点击Configure.此时应该没有红色的条目了.
- 点击Generate
- 在CMake的输出目录中,应该已经生成了对应的VS解决方案,用VS打开它.
- 以管理员身份运行VS(如果输出目录不是C盘,就不必使用管理员权限),打开VTK.sln
- Debug模式,生成ALL_BUILD.完成后生成INSTALL.
- Release模式,生成ALL_BUILD.完成后生成INSTALL.
- 上述步骤完成后,在CMAKE_INSTALL_PREFIX设置的路径下,即为编译好的文件。
与Qt相关的操作
把release版本的QVTKWidgetPlugin.lib和QVTKWidgetPlugin.dl拷贝到Qt的Designer目录下,这样QtDesigner的控件箱中就有QvtkWidget控件了.
你应该在这里找到这两个文件:
(cmake输出路径)\bin\Release\QVTKWidgetPlugin.dll
(cmake输出路径)\lib\Release\QVTKWidgetPlugin.lib
你应该把这两个文件放到这里:
(Qt安装路径)\Qt\Qt5.9.1\5.9.1\msvc(Cmake中选择的Msvc版本)\plugins\designer
如果你发现你的Designer中没有QvtkWidget控件,那么很有可能是这样:
你安装的Qt版本中,包含多个生成工具,如果你在(Qt安装路径)\Qt\Qt5.9.1\5.9.1\目录下面找到了多个msvc…这样的文件夹,那说明的确是这样,你应该从正确的msvc文件夹下的bin文件夹中启动designer.
19. 如何使用
到VTK的install目录下:
① 把bin目录加入环境变量
② 到lib目录下,按住shift键在空白处点击鼠标右键,选择”在此处打开命令行窗口”或者”在此处打开Power Shell窗口”,然后输入:dir /b >all.txt,生成全部文件名列表
③ 将这个列表中所有扩展名不是lib的文件名删掉,将这个文件复制两份,分别命名为debug.txt和release.txt,然后把debug.txt中的所有不带有”-gd”的删掉,把release.txt中的所有带”-gd”的删掉.可以使用正则表达式进行匹配并配合支持正则表达式的文本编辑器(例如VSCode或者Sublime或者Visual Studio的代码编辑区域)把不需要的条目删掉,下面给出正则表达式:
vtk+[a-zA-z1-9]+\-8\.0\-gd\.lib 匹配debug库
vtk+[a-zA-z1-9]+\-8\.0\.lib 匹配release库