Windows下VTK 源码编译(For Qt PCL)

虽然我们在windows下安装PCL的时候就已经安装了VTK,由于跟着PCL安装的VTK是没有和QT联合编译的,所以在使用PCL和QT做点云可视化界面的时候是无法使用QT的插件QVTKWidget。

VTK 源码下载

Tags · VTK / VTK · GitLab

我这里的环境是Win10

Visual Studio:2017 Community

PCL :1.9.1

VTK:8.1.2

CMake:3.17.3

Qt:5.14.2

这里我是将原来的VTK版本备份了,然后删掉C盘PCL自带的那个。后面源码编译安装VTK放在自带的那个目录下。

1. CMake 及VS 编译完设置路径安装到C盘,没有权限;

VS以管理员方式启动。

快捷方式上 右键 打开程序位置

找到vs安装目录下的:C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe

右键->兼容性疑难解答->疑难解答程序->勾选改程序需要附加权限->测试后下一步->保存设置。

2. 没有看到qt选项,configure后可以看到。千万注意是右斜,win默认拷贝路径是左斜。选择路径后,记得回车,会自动切换到右斜。(记得回车)

CMAKE_INSTALL_PREFIX: C:/Program Files/PCL 1.9.1/3rdParty/VTK

cmake prefix 右斜 /

3. Qt路径

4. VTK debug版本的文件后缀

使用 Add Entry 按钮添加缓存变量 CMAKE_DEBUG_POSTFIX,类型为 STRING,值设置为 -gd。这是为了将最后编译的 debug 文件与 release 文件区分开来。

VTK测试程序

编译完成后新建命令行控制程序。

#include "vtkConeSource.h" 
#include "vtkPolyDataMapper.h"  
#include "vtkRenderWindow.h" 
#include "vtkCamera.h"  
#include "vtkActor.h"  
#include "vtkRenderer.h"  
#include "vtkProperty.h" 
#include "windows.h" 

#include "vtkAutoInit.h"   

VTK_MODULE_INIT(vtkRenderingOpenGL2); // VTK was built with vtkRenderingOpenGL2  

VTK_MODULE_INIT(vtkInteractionStyle);

int main()  
{
vtkConeSource *cone = vtkConeSource::New();
cone->SetHeight(3.0);
cone->SetRadius(1.0);
cone->SetResolution(10);

vtkPolyDataMapper *coneMapper = vtkPolyDataMapper::New();
coneMapper->SetInputConnection(cone->GetOutputPort());

vtkActor *coneActor = vtkActor::New();
coneActor->SetMapper(coneMapper);

vtkRenderer *ren1 = vtkRenderer::New();
ren1->AddActor(coneActor);
ren1->SetBackground(0.1, 0.2, 0.4);
vtkRenderWindow *renWin = vtkRenderWindow::New();
renWin->AddRenderer(ren1);
renWin->SetSize(300, 300);
int i;
for (i = 0; i < 360; ++i)
{
	renWin->Render();
	ren1->GetActiveCamera()->Azimuth(i);
	Sleep(200);
}
cone->Delete();
coneMapper->Delete();
coneActor->Delete();
ren1->Delete();
renWin->Delete();

return 0;
}

使用命令dir /b *.lib查看lib名称。填入VS链接路径(用最原始的CMD(快捷键Win + R,输入cmd),不要用Power shell 和Windows terminal,会报错)

vtkalglib-8.1.lib

vtkChartsCore-8.1.lib

vtkCommonColor-8.1.lib

vtkCommonComputationalGeometry-8.1.lib

vtkCommonCore-8.1.lib

vtkCommonDataModel-8.1.lib

vtkCommonExecutionModel-8.1.lib

vtkCommonMath-8.1.lib

vtkCommonMisc-8.1.lib

vtkCommonSystem-8.1.lib

vtkCommonTransforms-8.1.lib

vtkDICOMParser-8.1.lib

vtkDomainsChemistry-8.1.lib

vtkDomainsChemistryOpenGL2-8.1.lib

vtkexoIIc-8.1.lib

vtkexpat-8.1.lib

vtkFiltersAMR-8.1.lib

vtkFiltersCore-8.1.lib

vtkFiltersExtraction-8.1.lib

vtkFiltersFlowPaths-8.1.lib

vtkFiltersGeneral-8.1.lib

vtkFiltersGeneric-8.1.lib

vtkFiltersGeometry-8.1.lib

vtkFiltersHybrid-8.1.lib

vtkFiltersHyperTree-8.1.lib

vtkFiltersImaging-8.1.lib

vtkFiltersModeling-8.1.lib

vtkFiltersParallel-8.1.lib

vtkFiltersParallelImaging-8.1.lib

vtkFiltersPoints-8.1.lib

vtkFiltersProgrammable-8.1.lib

vtkFiltersSelection-8.1.lib

vtkFiltersSMP-8.1.lib

vtkFiltersSources-8.1.lib

vtkFiltersStatistics-8.1.lib

vtkFiltersTexture-8.1.lib

vtkFiltersTopology-8.1.lib

vtkFiltersVerdict-8.1.lib

vtkfreetype-8.1.lib

vtkGeovisCore-8.1.lib

vtkgl2ps-8.1.lib

vtkglew-8.1.lib

vtkGUISupportQt-8.1.lib

vtkGUISupportQtOpenGL-8.1.lib

vtkGUISupportQtSQL-8.1.lib

vtkhdf5-8.1.lib

vtkhdf5_hl-8.1.lib

vtkImagingColor-8.1.lib

vtkImagingCore-8.1.lib

vtkImagingFourier-8.1.lib

vtkImagingGeneral-8.1.lib

vtkImagingHybrid-8.1.lib

vtkImagingMath-8.1.lib

vtkImagingMorphological-8.1.lib

vtkImagingSources-8.1.lib

vtkImagingStatistics-8.1.lib

vtkImagingStencil-8.1.lib

vtkInfovisCore-8.1.lib

vtkInfovisLayout-8.1.lib

vtkInteractionImage-8.1.lib

vtkInteractionStyle-8.1.lib

vtkInteractionWidgets-8.1.lib

vtkIOAMR-8.1.lib

vtkIOCore-8.1.lib

vtkIOEnSight-8.1.lib

vtkIOExodus-8.1.lib

vtkIOExport-8.1.lib

vtkIOExportOpenGL2-8.1.lib

vtkIOGeometry-8.1.lib

vtkIOImage-8.1.lib

vtkIOImport-8.1.lib

vtkIOInfovis-8.1.lib

vtkIOLegacy-8.1.lib

vtkIOLSDyna-8.1.lib

vtkIOMINC-8.1.lib

vtkIOMovie-8.1.lib

vtkIONetCDF-8.1.lib

vtkIOParallel-8.1.lib

vtkIOParallelXML-8.1.lib

vtkIOPLY-8.1.lib

vtkIOSQL-8.1.lib

vtkIOTecplotTable-8.1.lib

vtkIOVideo-8.1.lib

vtkIOXML-8.1.lib

vtkIOXMLParser-8.1.lib

vtkjpeg-8.1.lib

vtkjsoncpp-8.1.lib

vtklibharu-8.1.lib

vtklibxml2-8.1.lib

vtklz4-8.1.lib

vtkmetaio-8.1.lib

vtkNetCDF-8.1.lib

vtknetcdfcpp-8.1.lib

vtkoggtheora-8.1.lib

vtkParallelCore-8.1.lib

vtkpng-8.1.lib

vtkproj4-8.1.lib

vtkRenderingAnnotation-8.1.lib

vtkRenderingContext2D-8.1.lib

vtkRenderingContextOpenGL2-8.1.lib

vtkRenderingCore-8.1.lib

vtkRenderingFreeType-8.1.lib

vtkRenderingGL2PSOpenGL2-8.1.lib

vtkRenderingImage-8.1.lib

vtkRenderingLabel-8.1.lib

vtkRenderingLOD-8.1.lib

vtkRenderingOpenGL2-8.1.lib

vtkRenderingQt-8.1.lib

vtkRenderingVolume-8.1.lib

vtkRenderingVolumeOpenGL2-8.1.lib

vtksqlite-8.1.lib

vtksys-8.1.lib

vtktiff-8.1.lib

vtkverdict-8.1.lib

vtkViewsContext2D-8.1.lib

vtkViewsCore-8.1.lib

vtkViewsInfovis-8.1.lib

vtkViewsQt-8.1.lib

vtkzlib-8.1.lib

附加包含目录:C:\Program Files\PCL 1.9.1\3rdParty\VTK\include\vtk-8.1

附加库目录:C:\Program Files\PCL 1.9.1\3rdParty\VTK\lib;C:\Program Files\PCL 1.9.1\3rdParty\VTK\lib\cmake\vtk-8.1

经测试,在windows下用CMakeLists.txt配置Qt和PCL的VTK工程较为方便。而Linux下则是Qmake方便点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/407460.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android 相机启动流程笔记

和你一起终身学习&#xff0c;这里是程序员Android 经典好文推荐&#xff0c;通过阅读本文&#xff0c;您将收获以下知识点: 一、Camera 框架介绍&#xff1a; Camera的框架分为Kernel部分和hal部分&#xff0c;其中kernel部分主要有两块&#xff1a; image sensor driver&…

【计算机学院寒假社会实践】——卫生服务无限情,社区居民乐融融

为了加强社区基层党组织建设和改进社区工作&#xff0c;推动社区更好繁荣发展&#xff0c;曲阜师范大学计算机学院“青年扎根基层&#xff0c;服务走进社区”实践队员周兴睿在2024年2月14日来到了山东省滨州市陈集社区&#xff0c;对社区卫生进行清洁工作。 这一年&#xff0c;…

[剪藏] - “闷声赚票房”的雷佳音,“窝囊废赛道”的成功学代表?

作者| 糖炒山楂 编辑| Mia 猫眼专业版上&#xff0c;雷佳音主演电影票房达到了147亿&#xff0c;排在影人榜第12名。按照平台对《热辣滚烫》和《第二十条》最终票房的预测&#xff0c;他的个人票房还有10亿左右的上升空间。 相比贾玲、赵丽颖等女性扛起了春节档的焦点话题&a…

微服务Day6

文章目录 DSL查询文档RestClient查询文档快速入门 旅游案例 DSL查询文档 RestClient查询文档 快速入门 Testvoid testMatchAll() throws IOException {//1.准备RequestSearchRequest request new SearchRequest("hotel");//2.准备DSLrequest.source().query(QueryB…

计算机网络实验四VLAN与三层交换机

一、实验目的和要求 1&#xff09;掌握VLAN的基本配置方法&#xff0c;理解VLAN的功能和作用&#xff1b; 2&#xff09;掌握三层交换机的基本配置方法。 二、实验环境 1&#xff09;运行Windows 2008 Server/XP/7操作系统的PC一台。 2&#xff09;PacketTracer。 实验内…

H12-821_29

29.四台路由器运行IS-S且已经建立邻接关系,区域号和路由器的等级如图中标记,下列说法中正确的有? A.R2和R3都会产生ATT置位的Level-1的LSP B.R1没有R4产生的LSP,因此R1只能通过缺省路由和R4通信 C.R2和R3都会产生ATT置位的Leve1-2的LSP D.R2和R3互相学习缺省路由,该网络出现路…

Github 2024-02-23 开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2024-02-23统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量非开发语言项目4Python项目3TypeScript项目1HTML项目1Dart项目1Rust项目1 从零开始构建你喜爱的技术 创建周…

CVE-2023-44313 Apache ServiceComb Service-Center SSRF 漏洞研究

本次项目基于go语言&#xff08;本人不精通&#xff09;&#xff0c;虽不是java web框架了 &#xff0c;但搭建web服务的框架一些思想理念却是通用的&#xff0c;我们由此可以得到一些蛛丝马迹....... 目录 漏洞简介 漏洞分析 漏洞复现 漏洞简介 Apache ServiceComb Servi…

PCIe和SATA接口统计

一、PCIe接口 1、Add-in-Card(AIC) AIC是最常见的PCIe接口形态,组装过电脑的同学可能比较清楚,电脑上的主板上都会有下面的几排插槽,这就是典型的PCIe AIC的插槽,比较常见的插槽位宽为x16和x1 插在上面的卡就是PCIe AIC。PCIe AIC常见的有显卡,无线网卡,存储设备等等 A…

Javaweb之SpringBootWeb案例之AOP案例的详细解析

4. AOP案例 SpringAOP的相关知识我们就已经全部学习完毕了。最后我们要通过一个案例来对AOP进行一个综合的应用。 4.1 需求 需求&#xff1a;将案例中增、删、改相关接口的操作日志记录到数据库表中 就是当访问部门管理和员工管理当中的增、删、改相关功能接口时&#xff0c…

Python入门学习——基础语法

一、Python解释器 1. Python解释器的作用是&#xff1a; 将Python代码翻译成计算机认识的O和1并提交计算机执行在解释器环境内可以一行行的执行我们输入的代码也可以使用解释器程序&#xff0c;去执行".py"代码文件 2. Python解释器程序在&#xff1a; <Python…

c++的类型转换方法

一、静态类型转换&#xff08;static_cast&#xff09; 静态类型的转换主要用于基本类型之间的转换&#xff0c;比如int类型转换为double类型。但是static_cast也可以支持上下行的转换&#xff08;存在继承关系之间的转换&#xff09; 基本类型之间的转换举例 上下行转换的举…

代码随想录算法训练营第59天 | 583.两个字符串的删除操作 + 72.编辑距离 + 编辑距离总结篇

今日任务 583. 两个字符串的删除操作 72. 编辑距离 编辑距离总结篇 583.两个字符串的删除操作 - Medium 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 给定两个单词 word1 和 word2 &#xff0c;返回使得 word1 和 word2 相同所需的最小步数。 每步 可以…

秒懂百科,C++如此简单丨专栏导读及学习方法

目录 写在前面 专栏独有亮点 专栏目录总览 口头禅 订阅方式 保证 写在结尾 写在前面 本专栏为C的入门课程&#xff0c;包括了C的基础知识和算法入门。 如果你真心想学C&#xff0c;那么你一定要订阅此专栏&#xff0c;里面的21节课能够让新手快速入门。 &#x1f3c5;跟…

全能代码生成器,自动生成前后端代码、生成项目框架、生成JavaBean、生成数据库文档、自动化部署项目(TableGo v8.4.0)

TableGo_20240224 v8.4.0 正式版发布&#xff0c;此次版本累计更新如下&#xff1a; 1、TableGo专属LOGO上线 2、生成数据库文档ER图新增备注字段名的生成配置 3、生成自定义文件功能新增临时参数配置&#xff0c;用于使用临时数据生成自定义文件 4、新增基于Excel数据生成…

【前端素材】推荐优质后台管理系统Vuesy平台模板(附源码)

一、需求分析 后台管理系统在多个层次上提供了丰富的功能和细致的管理手段&#xff0c;帮助管理员轻松管理和控制系统的各个方面。其灵活性和可扩展性使得后台管理系统成为各种网站、应用程序和系统不可或缺的管理工具。下面详细分析后台管理系统的定义和功能&#xff1a; 1.…

一个小老板的日常管理

昨天在“Daily Briefing”公众号的一文《Daily Briefing下一步怎么办&#xff1f;》&#xff0c;收到很多英语爱好者的留言和祝福。 其实“Daily Briefing”也相当于创业前的一次MVP&#xff0c;失败也好&#xff0c;成功也罢&#xff0c;都是自己不错的一段经历。 咱们“知识大…

力扣 48. 旋转图像

1.题目 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]]…

unity学习(41)——创建(create)角色脚本(panel)——UserHandler(收)+CreateClick(发)——发包!

1.客户端的程序结构被我精简过&#xff0c;现在去MessageManager.cs中增加一个UserHandler函数&#xff0c;根据收到的包做对应的GameInfo赋值。 2.在Model文件夹下新增一个协议文件UserProtocol&#xff0c;内容很简单。 using System;public class UserProtocol {public co…

K8s环境搭建

一、基础环境准备 VMware虚拟机&#xff0c;安装三台CentOS&#xff0c;网络环境选择NAT模式&#xff0c;推荐配置如下&#xff08;具体安装步骤省略&#xff0c;网上很多虚拟机安装CentOS7的教程&#xff09; 二、网络环境说明 使用NAT模式&#xff0c;我的IP分别是&#xf…