栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【Qt5.9.1+PCL1.8.1+VTK8.0.0+VS2015】Qt中配置PCL库Debug|Release完整流程图教程(安装+编译+源码+代码测试)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Qt5.9.1+PCL1.8.1+VTK8.0.0+VS2015】Qt中配置PCL库Debug|Release完整流程图教程(安装+编译+源码+代码测试)

因为课题需要,本编程新手在不会VS、Qt的情况下配置了4天终于成功,期间在VS的Release环境下成功了,参考该视频:https://www.bilibili.com/video/BV17L411W7fu?spm_id_from=333.999.0.0
但是该视频教程是已经直接将VTK库编译好并替换PCL内的VTK库,而且只编译了Release版本,无法使用Debug版本,同时在VS中运行时,配置的库、头文件一不小心就会出错。

看到网上说在Qt中配置PCL更简单(确实更简单,主要是配置简单),又找了新的教程,但是都比较零散,于是现在将所有的流程图整合在一起,包括安装软件、重新编译VTK库、Qt配置PCL库,给像我这样一点都不懂的小白参考,参考使用了以下几个blog里的内容:
1.QT配置PCL过程记录(一)
2.QT配置PCL过程记录(二)
3.qt creator+PCL1.8.0配置,显示pcd文件
4.VS2015+Qt5.7.0+PCL1.8.1+VTK8.0 环境配置步骤

Qt中配置PCL库
  • 1. 安装
    • 1.1 提示+下载链接
    • 1.2 安装VS
    • 1.3 安装Qt及Qt助手
    • 1.4 安装PCL库
  • 2.编译VTK并替换PCL内VTK库
    • 2.1 安装Cmake
    • 2.2 Cmake编译VTK
    • 2.3 VS编译VTK(Debug|Release)
    • 2.4 替换PCL内的VTK库
  • 3.Qt配置
    • 3.1 新建Qt控制台程序
    • 3.2 在Qt内配置PCL库
  • 结语


1. 安装 1.1 提示+下载链接

(1)配置PCL库时,需要把默认的空格都删掉,如:

D:Programe FilesPCL 1.8.1,修改成*D:ProgrameFilesPCL1.8.1*

(2)安装路径如果跟本文一致,环境变量跟配置文件可以直接复制,否则修改成自己的安装路径:

PCL:D:ProgrameFilesPCL1.8.1

(3)下载链接:Qt5.9.1+PCL1.8.1+VTK8.0.0+VS2015+Cmake3.21.2,提取码:5lw4

1.2 安装VS

(1)装载

(2)以管理员身份运行

(3)更改安装路径,选择自定义,下一步

(4)勾选编程语言Visual C++

(5)安装

(6)启动,更改开发设置Visual C++,启动Visual Studio(S)

1.3 安装Qt及Qt助手

(1)安装qt

(2)跳过,下一步

(3)更改路径,下一步

(4)选择组件

(5)下一步

(6)不改,下一步

(7)安装Qt助手

(8)安装

1.4 安装PCL库

(1)运行AlllnOne文件

(2)下一步,我接受

(3)关键步骤,选择添加至系统环境变量

(4)关键步骤,修改安装路径(删掉两个空格)

(5)选择开始菜单文件夹,下一步;选择组件,安装

(6)关键步骤,更改OpenNI的安装路径


(7)弹出窗口,稍后重启计算机

(8)OpenNI、PCL安装完成


(9)解压pdb安装包,将安装包内所有文件复制到PCL1.8.1/bin文件夹内


(10)关键步骤,控制面板-系统-高级系统设置-高级-环境变量,添加完环境变量后重启电脑

2.编译VTK并替换PCL内VTK库

写在前面的话:

—这一部分参考VS2015+Qt5.7.0+PCL1.8.1+VTK8.0 环境配置步骤的2.1.编译VTK

—替换PCL的VTK库时,有一步与2.2不同,因此重新修改步骤如下,如果不想编译或者编译不成功,可以直接使用我的编译源文件:VTK-build,提取码:k96d

2.1 安装Cmake

(1)安装

(2)下一步

(3)添加系统变量

(4)修改安装路径

(5)安装,安装完成

2.2 Cmake编译VTK

(1)新建VTK文件夹,在VTK文件夹内新建三个文件夹VTK-src、VTK-cmake、VTK-build;VTK-src内放置两个VTK安装包的解压文件

(2)开始编译:选择源码路径为VTK-src文件夹,选择编译路径为VTK-cmake文件夹

(3)点击Configure:选择对应的VS版本,选择x64

(4)第一次Configure后,补充以下信息
—勾选BUILD_EXAMPLES(输出VTK自带的样例项目,根据需要勾选);
—勾选BUILD_SHARED_LIBS(编译VTK的dll文件,必须勾选);

—CMAKE_INSTALL_PREFIX,选择安装生成文件的目录(自己的安装路径);

—勾选VTK_Group_Qt(VTK的Qt相关文件:QVTKWidget控件,以及相关的头文件、lib和dll);

—VTK_DATA_STORE,选择到VTK-src里面的附加数据文件夹;

(5)第二次Configure,弹出错误,点击OK,补充以下信息

—QT_QMAKE_EXECUTABLE,选择到Qt安装路径的qmake.exe文件;
—VTK_QT_VERSION,将4更改为5;

(6)第三次Configure,补充以下信息
—Qt5_DIR,选择到Qt安装路径的Qt5文件夹;

(7)第四次Configure,下方日志输出Configuring done;
点击Generate,下方日志输出Generating done;
点击Open Project,自动打开VS2015。

2.3 VS编译VTK(Debug|Release)

(1)生成Debugx64:ALL_BUILD


(2)生成Debugx64:INSTALL


(3)将VTK-build文件夹更改为VTK-build-Debug
(4)将VTK-build-Debuglib文件夹内的所有lib文件,结尾加上-gd

(5)同(1) (2)步操作一致,生成Releasex64,会自动生成新的VTK-build文件夹,更改为VTK-build-Release,编译完成。

2.4 替换PCL内的VTK库

(1)为了防止出错,备份VTK

(2)替换bin(Debug|Release)


(3)替换lib(Debug|Release)
—**删除D:ProgramFilesPCL1.8.13rdPartyVTKlib文件夹内所有lib文件 **


(4)替换Include(Debug或Release其中一个,一样的)
—**删除D:ProgramFilesPCL1.8.13rdPartyVTKinclude文件夹内所有文件 **

(5)整合QVTKWidget到Qt
—将路径2内的QVTKWidgetPlugin.dll文件复制到路径1内
—路径1:D:QtQt5.9.15.9.1msvc2015_64pluginsdesigner
—路径2:D:ProgramFilesVTKVTK-build-Releasepluginsdesigner

(6)更改VTK/bin环境变量,重启电脑,编译替换完成。

3.Qt配置 3.1 新建Qt控制台程序

(1)新建Qt控制台程序

(2)命名,路径

(3)Build System点击下一步后,如下操作

(4)创建完成

3.2 在Qt内配置PCL库

(1)确定构建环境(构建Debug或Release),添加PCL库
—如果pcl.pri在项目文件夹直接写include(pcl.pri)
—源文件:pcl.pri,提取码:tq0o


(2)执行qmake,执行pcl.pri文件自动添加到项目中

(3)代码测试,随便拷贝一段代码到main.cpp中,兔子点云文件,提取码:dt8o

#include  //标准输入输出流
#include  //PCL的PCD格式文件的输入输出头文件
#include  //PCL对各种格式的点的支持头文件
#include //点云查看窗口头文件

//在main函数中添加
int main(int argc, char *argv[])
{
    pcl::PointCloud::Ptr cloud(new pcl::PointCloud); // 创建点云(指针)
        if (pcl::io::loadPCDFile("E:/rabbit.pcd", *cloud) == -1) //* 读入PCD格式的文件,如果文件不存在,返回-1
        {
            PCL_ERROR("Couldn't read file test_pcd.pcd n"); //文件不存在时,返回错误,终止程序。
            return (-1);
        }
        pcl::visualization::CloudViewer viewer("Simple Cloud Viewer");//直接创造一个显示窗口
        viewer.showCloud(cloud);//再这个窗口显示点云
        while (!viewer.wasStopped())
        {
        }
        return (0);
}

(4)运行,显示

如果运行出现类似这种错误LNK1104: 无法打开文件“vtkRenderingLIC-8.0-gd.lib”,请检查pcl.pri内的路径是否正确,如果正确是否存在该lib文件。

结语

在网上看到各种教程,安装了各种版本,卸载好几次,最后又重装系统,终于搞定,感谢分享教程的大家,也衷心的希望这篇教程对你能有所帮助,祝好。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/630658.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号