win10下在Qt中使用VTK(安装VS2017+安装QT5.9.9+编译配置VTK8.2.0)


前言

作为一个只浅学过C语言和C++的纯小白,在编译VTK(visualization toolkit)并与Qt结合的过程中遇到了很多问题,零零碎碎也看了许多文章教程,但由于版本兼容、过程不完整等问题走了许多弯路,最后东拼西凑勉强完成,故写下这篇文章供大家参考。
本文主要目的是安装vs2017,Qt,Cmake以及VTK,并使Qt和VTK均可以在vs2017中使用。

一、安装Visual Studio2017

1)官网下载可执行的安装程序

首先,到Visual Studio官网(www.visualstudio.com)下载安装工具。
在这里插入图片描述


在搜索栏处搜索就能找到包括2017等以前版本
附直达网址:较古老版本——https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/


2)安装

VS 2017 下载完成后,双击下载好的可执行文件即可进入安装界面:

1、点击 “继续” 按钮,此时会弹出一个进度条:

在这里插入图片描述

2、等进度条完成后,会直接跳到下面的页面:
在这里插入图片描述

3、选择工作负载、组件,确定安装位置:
我们只需要安装 “使用C++ 的桌面开发” 即可,其他如有需要可自行安装;
同时在这个页面,还可以选择 VS 2017 的存储位置;
然后直接点击安装,此过程可能需要一段时间,请耐心等待。
在这里插入图片描述

4、安装完成:
VS 2017 会要求重启计算机,按要求重启即可。
安装成功后,首次使用 VS 2017 还需要对其进行简单的配置,包括开发环境和软件本身的主题风格。
启动Visual Studio 2017,会提示让你登陆,可以登录、注册,当然直接略过也可。
在这里插入图片描述

3)启动

接下来选择配置开发环境:
在这里插入图片描述

我们使用主要进行的是 C/C++ 程序开发,所以选择 “Visual C++” 这个选项,至于颜色主题选个顺眼的就行,然后点击 “启动 Visual Studio” 按钮。
在这里插入图片描述
最后,再等待几分钟的准备过程启动就成功啦!


二、安装Qt 5.9.9

1)下载可执行的安装程序

同样先在Qt中文官网(https://www.qt.io/zh-cn/)下载安装工具。
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

附直达地址:Qt Download—— https://download.qt.io/archive/qt/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Qt5.9是长期支持版,会在较长的时间内获得安全、维护和(有时有)功能的更新,因此我们选择5.9.9


2)安装

双击下载好的可执行文件即可进入安装界面:

1、点击”Next“
在这里插入图片描述

2、登录账号,没有的话去官网注册一个即可
在这里插入图片描述

3、选择安装位置
注意,安装路径不能带空格、中文字符或者其它任何特殊字符,Qt的任何相关路径都不能出现中文
在这里插入图片描述

4、选择需要的组件
QT中有很多的组件,抱歉我不是很懂,所以我把我觉得可能有用都下载了,我们要使用vs2017所以其中MSVC 2017 64-bit是必要的,其他的组件大家可以按照需求下载。但是选择组件较多时,会占用比较大的内存,如果你的内存不够,最好还是多查一查。以下是我的选择。
在这里插入图片描述
5、接着选择”下一步“,”下一步“就完成了


3)配置环境变量

1、右击计算机—属性,点击高级系统设置—环境变量
在这里插入图片描述

2、接下来点开系统变量中的Path,点击”新建“,输入Qt安装所在路径下的msvc2017_64\bin文件夹,然后确定如果你曾经为python配置过环境,一定要点击”上移“将Qt的路径移动到python的路径上方
在这里插入图片描述
完成以上内容,Qt便安装完成了!


三、安装Cmake

1)下载可执行的安装程序

在官网下载安装程序
直达网址:Cmake Download——https://cmake.org/download/
进入Cmake下载网页后,我们选择最新的3.25.1版本,在文件列表中我们选择最便于安装的msi(环境:Windows 64位),如下图所示。
在这里插入图片描述


2)安装

下载完成后双击进行安装
在这里插入图片描述
1、欢迎界面,点击“Next”
(因为下载完成后有些下载页面就无法打开了,因此借用了一些别人的图片)

在这里插入图片描述

2.同意协议,点击“Next”
在这里插入图片描述

3、选择第二个选项安装程序会将文件目录添加至所有用户的系统环境变量中,点击“Next”
在这里插入图片描述

4、选择安装目录小提示:这个软件不大只有100MB左右,点击“Next”
在这里插入图片描述

5、点击“Install”,等进度条走完便安装完成了
(因为之前选择了自动添加到系统变量for all users,因此我们不需要再手动配置环境)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


四、VTK的下载、配置、生成

1)下载VTK

直达地址:VTK官网——https://www.vtk.org/download/

1、我们选择8.2.0版本,下载VTK-8.2.0.zip,如下图所示:
(.zip是window系统的,.tar.gz是Linux系统的,不知为何最新的9.2.5没有ZIP)
 VTKData和VTKLargeData都是官方示例程序中的数据,如有需要可自行下载。
在这里插入图片描述
2、创建一个目录(最好不要在C盘),命名为VTK,在其中新建五个目录,分别命名为vtk_src、vtk_bin、vtk_res、vtk_debug、vtk_release,操作完成的结果如下图所示:
(scr存放的是解压后的vtk文件;bin存放的是编译出来的项目文件;res作为中转;debug存放debug生成的文件;release存放release生成的文件)
在这里插入图片描述

3、将VTK-8.2.0.zip解压到vtk_src文件夹中
在这里插入图片描述

2)VTK的配置、生成

1、打开Cmake(之前看文章说有的电脑要以管理员身份运行不然后续Configure会卡住,但我没有遇到此类问题,写出仅供大家参考)选择两个路径,第一个是指源文件所在路径即vtk_src,第二是指编译生成的文件路径即vtk_bin。下面两个可选框Grouped和Advanced,推荐都勾上,其中Grouped会让结果以分类形式呈现,更加方便寻找;Advanced则会有更多的选项。然后点击“Configure”。
在这里插入图片描述

2、点击“Configure”后出现此窗口,选择对应版本的编译器,如果选择不对,后面可能会提示错误需要回到这边重新选择。如果你是x64的最好选择x64。
此处我们第一栏选择Visual Studio 15 2017,第二栏选择x64,第三栏空中即可,下面四选一用默认的第一个即可,如下图然后点击“Finish”。
在这里插入图片描述

3、之后需要稍等一会儿了,待进度条走完后,便会出现一个喜庆的红色界面,全部报错,把寄打在公屏上,开个小玩笑,这个只是要求你进行设置的确定并不是报错。

我们需要勾选以下内容:
(蓝线划出的即是更改的地方)
BUILD_SHARED_LIBS 动态编译,勾选上(我的默认是勾上的)。

BUILD_EXAMPLES 是官方示例程序,建议勾上但不是必须。

CMAKE_INSTALL_PREFIX 这个表示vtk最后生成的链接库的位置,默认是C:/ProgramFiles /VTK,我们改为E:/VTK/vtk_res。

VTK_Group_Qt 勾选上。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、勾选完成后再次点击“Configure”,这次耗时会短很多,红色区域变少了,主要是Qt方面的。

Qt5_DIR等以Qt_5开头的选项,改成自己Qt中 5.9.9/msvc2017_64/lib/cmake/* 中对应的位置,如下图(如果你之前Qt环境配置正确这里应该是默认填好的)
在这里插入图片描述

5、再次“Configure”,这时候红色消失了,点击“Generate”,然后等待进度条走完即可。
在这里插入图片描述

6、打开VTK项目

注意,不要直接在Cmake中点击open project。
在这里插入图片描述

因为在CMAKE_INSTALL_PREFIX路径下写入文件需要管理员权限。所以我们在桌面上右击Visual Studio 2017,以管理员身份运行,然后在程序内打开VTK.sln。(VTK.sln就在我们之前建的vtk_bin当中)
在这里插入图片描述

7、右击右边解决方案资源管理器里的ALL_BUILD,点击“生成”,这时候会开始编译,这个过程时间有点小长,我大概用了二十分钟。
在这里插入图片描述

8、在编译完成后,在工具栏选择Release x64,右击右边解决方案资源管理器里的INSTALL,点击“生成”如果在这一步报错setlocal,很有可能是没有使用管理员身份运行
在这里插入图片描述

9、等进度条走完vtk_res文件夹里出现了一些文件夹,将它们 剪切 到vtk_release中即可。
在这里插入图片描述
在这里插入图片描述

10、清空vtk_res后,在工具栏选择Debug x64,再次右击右边解决方案资源管理器里的INSTALL,点击“生成”,这次将vtk_res中生成的文件夹移动到vtk_debug中。
在这里插入图片描述
在这里插入图片描述
至此,VTK的下载,配置,生成终于完成!


五、将VTK与Qt连接起来

因为Qt引入头文件很麻烦,要在.pro把每个头文件写一句引入语句,我不会什么快捷方法,有大佬写了脚本有兴趣可以查一查。但是我比较熟悉Visual,它的引入头文件就很简单,所以我选择把VTK和Qt都在Visual Studio 2017打开,虽然步骤多但是简单移动适。

1)在Qt的designer中加入VTK控件

找到vtk_release\plugins\designer中的QVTKWidgetPlugin.dll
将其复制到你的Qt目录Qt_5.9.9\5.9.9\msvc2017_64\plugins\designer目录下
在这里插入图片描述
在这里插入图片描述

在Qt_5.9.9\5.9.9\msvc2017_64\bin目录下打开designer.exe,就会增加控件,如图:
在这里插入图片描述在这里插入图片描述


2)在Visual Studio 2017中引入Qt

1、打开Visual Studio 2017,在工具栏打开工具,点开其中的“扩展和更新”,选择联机,并在右侧搜索框搜索Qt,下载Qt Visual Studio Tools。
在这里插入图片描述
在这里插入图片描述

2、下载好了以后在工具栏会出现 “Qt VS Tools”,接下来点击选择Options。
在这里插入图片描述

3、出现以下窗口,选择Qt,Versions,点击。点击黄色的文件夹图标,然后选择你的Qt目录Qt_5.9.9\5.9.9\msvc2017_64\bin中的qmake.exe
在这里插入图片描述

完成后如下:
在这里插入图片描述

4、我们先新建一个Qt项目,如图,不用改默认选项,一路“Next”、“Finish”即可。
(之后在VS中新建Qt项目都要重复 4 到 9 的步骤)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、工具栏选择“Qt VS Tools”,接下来点击选择“Qt Project Settings”
在这里插入图片描述

6、在“配置属性”注意修改的配置、平台和使用的要相同里选择“VC++目录”,在右边点击包含目录,点击最右边的小箭头,点击编辑
在这里插入图片描述

7、点击右上角的黄色文件夹,在其中添加你的Qt目录中的Qt_5.9.9\5.9.9\msvc2017_64\includeQt_5.9.9\5.9.9\msvc2017_64\lib
在这里插入图片描述

8、接下来我们要改变VS的字符编码格式,不然在VS中用Qt写中文字符会报错。
在“配置属性”里选择“常规”,在“字符集”处选择“使用多字节字符集”
在这里插入图片描述

9、在“配置属性”里选择“XML文档生成器”,在“命令行”处“其他选项”中的最后加入“/utf-8
在这里插入图片描述

10、如果想要使用ui,可以根据需要添加
在“配置属性”选择“Qt Project Settings”。在Qt Modules 中应该至少包括 core, gui, widgets,点击右边小箭头以添加ui tools,如下图所示:
在这里插入图片描述
在这里插入图片描述

理论上,此时的Qt项目就可以正常运行了!

但实际上我还是遇到了问题,新的Qt项目可以运行,但原来写的Qt项目现在运行会报错,我又去查了查,发现原来是windows SDK的版本问题,解决方法如下:
11、右击项目,选择“重定向项目”,选择新的版本即可,如下图:
在这里插入图片描述
在这里插入图片描述
完成以上步骤,就彻底完成了!!


3)在Visual Studio 2017中引入VTK

这个就简单很多了,把VTK编译生成的头文件放进包含目录,再引入附加依赖项即可,可以参考上面Qt放入的步骤。
(也是之后在VS中新建项目都要重复,但我确实没想到什么好办法)
在“配置属性”里选择“VC++目录”,在右边点击包含目录,点击最右边的小箭头,点击编辑。
在这里插入图片描述
点击右上角的黄色文件夹,在其中添加你的VTK目录中的VTK\vtk_release\includeVTK\vtk_release\lib
在这里插入图片描述

在“配置属性”里选择“链接器”中的“输入”,在右边点击“附加依赖项”,点击最右边的小箭头,点击编辑。
在这里插入图片描述
在其中加入VTK\vtk_bin\lib\DebugITK\Build\lib\Debug中所有的.lib文件
(此处以Debug为例,可改为Realse)

当然一个一个文件名复制不太现实,或者说太不现实,以下有一个我找到的简单方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

简单方法如下:
(此处以itk为例,vtk参照以下步骤重复即可)

1、找到对应的目录
在这里插入图片描述

2、在上方路径栏输入“cmd”
在这里插入图片描述

3、在命令行输入“dir /b *.lib>1.txt
在这里插入图片描述

4、然后就会在对应目录下会新建一个 1.txt 文件,该文件包含当前目录下所有的.lib文件,直接复制粘贴即可使用
在这里插入图片描述


六、结束语

作为一个纯纯的小白,为了完成以上内容我看了很多文章,但多少都有点问题,不是太古老就是我操作中会报错,还有内容不完整的。我是一边查资料一边试验,零零散散的拼凑,所以我也不敢保证我说的全部正确,如有错误欢迎指正。
而且我也是初次学习使用VTK,如果有更好的使用方法,欢迎大家交流。

评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值