Windows VTK8.2 + VS 2015 + Qt 5.9

2023-10-08 17:20
文章标签 windows qt vs 2015 5.9 vtk8.2

本文主要是介绍Windows VTK8.2 + VS 2015 + Qt 5.9,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

VTK8.2 VS2015编译成功可以下载使用
https://download.csdn.net/download/weixin_45715405/86502135?spm=1001.2014.3001.5503

1、cmake编译VTK

选择好源代码目录,和和vtk的生成路径,然后点击configure

在这里插入图片描述

选择VS环境 我是VS2015 64位版,点击finish 开始加载配置 等一会儿,直到出现 红色区域和Configuring done

在这里插入图片描述

1、 勾选 BUILD下的 BUILD_SHARED_LIB
2、修改 CMAKE 下 CMAKE_INSTALL_PREFIX (生成库的目录)
3、VTK_Group_Qt
修改完后,再次点击Configure
红色变量会少一些,请确认红色变量的路径(Qt路径,Examples路径)是否正确,以及Qt的版本是否为5
若正确,则再次点击Configure,正常的话就不会再有红色的变量,接下来点击Generate
在这里插入图片描述
在这里插入图片描述

2、通过vs2015编译

cmake编译完成后,需要用VS2015对项目进行生成与安装。需要用管理员权限打开VS2015后,再打开项目VTK.sln。

使用管理员身份运行VS2015,打开项目VTK.sln,选择Debug与x64(Release和x64),然后右键ALL_BUILD,点击生成, 再右键INSTALL,选择仅用于项目–>仅生成INSTALL
在这里插入图片描述

3、配置qt

将刚才生成的release里面的QVTKWidgetPlugin文件拷贝到qt的如下目录下(一定是release的)

在这里插入图片描述
在这里插入图片描述
打开vs创建Qt项目

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

获取某一文件夹下文件名的批处理步骤:
新建一个1.txt,输入如下命令:
dir /a-d /b *>scr.txt
再将1.txt后缀名改为.bat即1.bat,运行就会生成一个scr.txt,里面存放的是文件名,复制所有.lib文件名(即去掉1.bat和scr.txt)到附加依赖项即可完成配置

在这里插入图片描述

再次运行,遇到如下问题

0x00007FFA5624F08E(ucrtbase.d)中处有未经处理的异常:请求了严重的程序退出。

引发此异常类型时中断从以下位置引发时除外:ucrtbase.dll
#include “vtkAutoInit.h”
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
在这里插入图片描述
在这里插入图片描述

#include <vtkOutputWindow.h>
vtkOutputWindow::SetGlobalWarningDisplay(0);//不弹出vtkOutputWindow窗口

#include<vtkConeSource.h>
#include<vtkPolyDataMapper.h>
#include<vtkActor.h>
#include<vtkRenderer.h>
#include<vtkRenderWindow.h>
#include<vtkRenderWindowInteractor.h>
#include<vtkInteractorStyleTrackballCamera.h>#include "vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkRenderingFreeType);
VTK_MODULE_INIT(vtkInteractionStyle);//圆锥模型vtkSmartPointer<vtkConeSource> cone = vtkSmartPointer<vtkConeSource>::New();cone->SetHeight(3.0);cone->SetRadius(1.0);cone->SetResolution(10);//映射器vtkSmartPointer<vtkPolyDataMapper> coneMapper = vtkSmartPointer<vtkPolyDataMapper>::New();coneMapper->SetInputConnection(cone->GetOutputPort());//对象vtkSmartPointer<vtkActor> coneActor = vtkSmartPointer<vtkActor>::New();coneActor->SetMapper(coneMapper);//渲染vtkSmartPointer<vtkRenderer>renderer = vtkSmartPointer<vtkRenderer>::New();renderer->AddActor(coneActor);renderer->SetBackground(0.0, 1.0, 1.0);//渲染窗口vtkSmartPointer<vtkRenderWindow>renWin = vtkSmartPointer<vtkRenderWindow>::New();renWin->AddRenderer(renderer);renWin->SetSize(600, 400);//交互vtkSmartPointer<vtkRenderWindowInteractor>renderInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New();renderInteractor->SetRenderWindow(renWin);//交互风格vtkSmartPointer<vtkInteractorStyleTrackballCamera>style = vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New();renderInteractor->SetInteractorStyle(style);renderInteractor->Initialize();renderInteractor->Start();

3、问题记录

在这里插入图片描述

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2019 无法解析的外部符号 __imp_glClearStencil,该符号在函数 “protected: virtual bool __cdecl vtkOpenGLLabeledContourMapper::ApplyStencil(class vtkRenderer *,class vtkActor *)” (?ApplyStencil@vtkOpenGLLabeledContourMapper@@MEAA_NPEAVvtkRenderer@@PEAVvtkActor@@@Z) 中被引用 QtGuiApplication2 D:\Qt5.9_project\QtGuiApplication2\QtGuiApplication2\vtkRenderingOpenGL2-8.2.lib(vtkOpenGLLabeledContourMapper.obj) 1

#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL);
VTK_MODULE_INIT(vtkInteractionStyle);

1、将添加的头文件修改成:

#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
  1. 接下来在属性的的链接器——输入——附加依赖项添加opengl32.lib

这篇关于Windows VTK8.2 + VS 2015 + Qt 5.9的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/166844

相关文章

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

在 Windows 上部署 gitblit

在 Windows 上部署 gitblit 在 Windows 上部署 gitblit 缘起gitblit 是什么安装JDK部署 gitblit 下载 gitblit 并解压配置登录注册为 windows 服务 修改 installService.cmd 文件运行 installService.cmd运行 gitblitw.exe查看 services.msc 缘起

Windows如何添加右键新建菜单

Windows如何添加右键新建菜单 文章目录 Windows如何添加右键新建菜单实验环境缘起以新建`.md`文件为例第一步第二步第三步 总结 实验环境 Windows7 缘起 因为我习惯用 Markdown 格式写文本,每次新建一个.txt后都要手动修改为.md,真的麻烦。如何在右键新建菜单中添加.md选项呢? 网上有很多方法,这些方法我都尝试了,要么太麻烦,要么不凑效

Windows下Nginx的安装及开机启动

1、将nginx-1.16.1.zip解压拷贝至D:\web\nginx目录下。 2、启动Nginx,两种方法: (1)直接双击nginx.exe,双击后一个黑色的弹窗一闪而过。 (2)打开cmd命令窗口,切换到nginx目录下,输入命令 nginx.exe 或者 start nginx ,回车即可。 3、检查nginx是否启动成功。 直接在浏览器地址栏输入网址 http://lo

【QT】基础入门学习

文章目录 浅析Qt应用程序的主函数使用qDebug()函数常用快捷键Qt 编码风格信号槽连接模型实现方案 信号和槽的工作机制Qt对象树机制 浅析Qt应用程序的主函数 #include "mywindow.h"#include <QApplication>// 程序的入口int main(int argc, char *argv[]){// argc是命令行参数个数,argv是

Python QT实现A-star寻路算法

目录 1、界面使用方法 2、注意事项 3、补充说明 用Qt5搭建一个图形化测试寻路算法的测试环境。 1、界面使用方法 设定起点: 鼠标左键双击,设定红色的起点。左键双击设定起点,用红色标记。 设定终点: 鼠标右键双击,设定蓝色的终点。右键双击设定终点,用蓝色标记。 设置障碍点: 鼠标左键或者右键按着不放,拖动可以设置黑色的障碍点。按住左键或右键并拖动,设置一系列黑色障碍点

使用Qt编程QtNetwork无法使用

使用 VS 构建 Qt 项目时 QtNetwork 无法使用的问题 - 摘叶飞镖 - 博客园 (cnblogs.com) 另外,强烈建议在使用QNetworkAccessManager之前看看这篇文章: Qt 之 QNetworkAccessManager踏坑记录-CSDN博客 C++ Qt开发:QNetworkAccessManager网络接口组件 阅读目录 1.1 通用API函数

Windows环境利用VS2022编译 libvpx 源码教程

libvpx libvpx 是一个开源的视频编码库,由 WebM 项目开发和维护,专门用于 VP8 和 VP9 视频编码格式的编解码处理。它支持高质量的视频压缩,广泛应用于视频会议、在线教育、视频直播服务等多种场景中。libvpx 的特点包括跨平台兼容性、硬件加速支持以及灵活的接口设计,使其可以轻松集成到各种应用程序中。 libvpx 的安装和配置过程相对简单,用户可以从官方网站下载源代码

C++实现俄罗斯方块(Windows控制台版)

C++实现俄罗斯方块(Windows控制台版) 在油管上看到一个使用C++控制台编写的俄罗斯方块小游戏,源代码200多行,B站上也有相关的讲解视频,非常不错,值得学习。 B站讲解视频地址为:【百万好评】国外技术大神C++游戏编程实战教程,油管580W收藏,新手10小时入门,并快速达到游戏开发能力(中英字幕) B站 CSDN博主千帐灯无此声还为此写了一篇博客:C++实现俄罗斯方块(源码+详解),讲