Qt+VS+VTK综合开发环境配置

说明

本文旨在介绍一种个人常用的开发环境,主要解决在VS中开发Qt项目的部分问题,以及解决使用基于Qt的VTK库开发时可能遇到的部分问题,并通过合理的配置提升新项目搭建时间

该教程使用版本为VS2017,Qt5.14.2以及VTK8.2,这里假定你已经安装这三者。

新建项目

第一步:VS在管理扩展中安装Qt Visual Studio Tools插件,注意,如果是项目开发用的工程,该插件的自动更新建议取消,若版本差异较大或因兼容性问题导致项目编译失败

Qt+VS+VTK综合开发环境配置_第1张图片

第二步:Qt插件附带有项目模板,根据需要新建Qt项目

Qt+VS+VTK综合开发环境配置_第2张图片

第三步:配置Qt插件 ,需要通过选择qmake.exe位置添加可用版本(该操作成后,以后的项目可以直接使用)

Qt+VS+VTK综合开发环境配置_第3张图片

 同时Qt Project Settings中,Qt Installation就选择我们刚才设置的版本,然后设置要使用的Qt Modules(这里可在下拉菜单中选择选Select Modules...进行可视化选择,而不是非要手动输入),下面的Build Config可以切换使用Qt的Debug库还是Release库,有时候我们可以在项目为Debug时,将该选项改为Release提升软件运行速度。

Qt+VS+VTK综合开发环境配置_第4张图片

 

老版本Qt插件(比如2.2)思路一样,在Qt Project Setting进行版本设置和模块选择。

第四步:打开属性管理器,添加VTK项目属性表,设置附加包含目录$(VTK_DIR)\include(VTK_DIR需要在环境变量中添加),附加库目录$(VTK_DIR)\lib,并添加项目依赖项(具体内容可以在$(VTK_DIR)\lib目录下打开powershell,通过"ls -n"指令快速获取),最后点击确认完成

Qt+VS+VTK综合开发环境配置_第5张图片

Qt+VS+VTK综合开发环境配置_第6张图片

 第五步:代码中,在main函数前需要添加一下代码:

#include 
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingFreeType);
VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2);

在main函数最前面需要添加一下代码设置QSurfaceFormat:

QSurfaceFormat::setDefaultFormat(QVTKOpenGLNativeWidget::defaultFormat());

至此,项目设置完成。

后续配置

经过上面的步骤,此时项目已经可以通过编译了。但每次编译都要将dll拷贝至运行目录也很烦,这里三种方案:

1、直接将VTK_DIR的bin目录添加到环境变量的Path目录下,一劳永逸。但对于开发人员而言,将开发库的DLL放到Path目录下这样的习惯不好,因为有些库如果名称中不像VTK这样带版本辨识的话,多版本混用开发容易引发DLL版本冲突的问题

2、在属性页的调试页面中设置环境,相比方案一灵活性更强,并避免DLL版本冲突

Qt+VS+VTK综合开发环境配置_第7张图片

 3、设置生成时间,三种方案中最灵活的,但会增加每次编译完后,会执行拷贝,花费更多时间

Qt+VS+VTK综合开发环境配置_第8张图片

对于这三种方案,如果平时写Demo的话用方案2,占用时间和空间更少,如果实际项目开发的话,使用方案3,或者结合这两种方案。另外,学习目的话也可以使用方案1,最简单。

PS:上面的项目,如果希望在Debug模式下使用Release版本的VTK库,需要把Qt Project Settings中Build Config一并改为Release,否则VTK将与Qt的产生接口错误。

你可能感兴趣的:(VTK,qt,qt,visual,studio,VTK)