一,VS2017+PCL1.8.1安装及环境配置
按照我之前的这个配置即可:https://blog.csdn.net/yzk1062913581
二,QT+VS环境配置
安装QT,自己去官网下载即可;
在安装组件选择时,根据 Visual Studio 的版本选择对应的 Qt,在此选择 MSVC 2017 64-bit
,其他组件可以按需选择。
耐心等待 Qt 安装完成即可。
然后为 Visual Studio 安装 qt addin 插件,在下面的下载链接中下载插件文件,后缀名为 .vsix
,双击完成安装。重新打开 Visual Studio,可以在菜单栏上看到 QT VS Tools
菜单。
https://download.qt.io/development_releases/vsaddin/
安装完成后,打开 Visual Studio 进行 Qt 配置。打开 Qt VS Tools
- Qt Options
,设置对应 Qt 版本及路径。
三,VTK编译安装以及环境配置
源码下载:可以上官网下载(速度很慢),这里我提供了下载地址:https://pan.baidu.com/s/1Ngkw4OQ7ZvwZgrr51Nc-bQ
PCL1.8.1对应的VTK版本是VTK8.0.0,一定要下载PCL相对应的VTK版本。
PCL 依赖 VTK,在其 3rdParty
目录下可以看到 VTK。那为什么还要自己手动编译 VTK 呢?
答:这是因为,PCL 安装目录下的 VTK 并不完整,其中就少了与 Qt 相关的模块,而这些模块是 CloudViewer 编译运行所需要的(如 QVTKWidget
)。所以我们需要手动编译 VTK,并替换 PCL 3rdParty
下的 VTK。
第一步:编译
1)首先将 VTK 源码解压,打开 cmake-gui(自行安装),设置源码目录(此处即为 VTK 源码目录)和生成目录。并使用 Add Entry
按钮添加缓存变量 CMAKE_DEBUG_POSTFIX,类型为 STRING,值设置为 -gd。这是为了将最后编译的 debug 文件与 release 文件区分开来。
单击 Configure
进行配置,根据安装的 Visual Studio 的版本选择对应的生成器,选择 x64 平台。然后开始配置。
配置过程中,cmake 会检测当前环境,编译器等,并生成缓存变量。第一次配置完成后,需要对一些缓存变量进行修改,如 CMAKE_INSTALL_PREFIX,它规定了最后构建的 VTK 安装在什么地方,这个目录可以随意选择,到时候拷贝到 PCL 3rdParty
目录下即可。此外,可以选择需要构建的内容:BUILD_DOCUMENTATION, BUILD_EXAMPLES, BUILD_SHARED_LIBS, BUILD_TESTING。考虑到项目并没有直接使用 VTK,而只是用于替换 PCL 中的 VTK,所以只勾选了 BUILD_SHARED_LIBS,不对文档、实例和测试进行生成,这样可以节省生成和构建的时间。另外一个比较重要的是,要勾选 VTK_Group_Qt。具体如下图所示,单击 Configure
,进行配置。
然后可能会提示 Qt5_DIR NOT FOUND,所以,将该缓存变量设置为 Qt cmake 目录(具体根据 Qt 的版本和安装目录进行合适的设置)。将 VTK_QT_VERSION 设置为 5。
2) 然后 Configure
,配置完成后,开始 Generate
,生成完毕后,可以在生成目录下发现 Visual Studio 解决方案。打开解决方案,其中包含了上百个项目,默认是 Debug x64 模式,右击 ALL_BUILD 项目,选择生成,生成完成后,右击 INSTALL 项目,选择生成,即开始安装,将生成 debug 库文件。待构建完成后,切换为 Release x64 模式,按同样的操作,生成 release 库文件(构建过程比较耗时,大概需要 1 个小时左右)。最终完成 VTK 的构建,可以在先前配置的安装目录下找到构建好的文件。
3)最后,将构建好的整个目录拷贝至 PCL 3rdParty
目录下,更名为 VTK
,替换掉原来的 VTK。此外,为了能够在 Qt Designer 中使用 QVTKWidget 控件,将 PCL_ROOT/3rdParty/VTK/plugins/designer/QVTKWidget.dll
拷贝至 QTDIR/Qt5.10.1/5.10.1/msvc2017_64/plugins/designer
目录下(PCL_ROOT 和 QTDIR 分别是 PCL 和 Qt 的安装根目录,具体目录设置根据软件版本和安装路径而定)。
第二步:环境配置
添加以下环境变量(如已添加则忽略)。
-
PCL_ROOT
指向 PCL 安装根目录(示例:D
:\Program Files\PCL 1.8.1
)。 -
QTDIR
指向 QT 安装根目录(示例:
D:\Program\Qt\Qt5.10.1
)。
在 PATH 环境变量添加以下值:
- %PCL_ROOT%\bin
- %PCL_ROOT%\3rdParty\FLANN\bin
- %PCL_ROOT%\3rdParty\VTK\bin
- %PCL_ROOT%\3rdParty\Qhull\bin
- %PCL_ROOT%\3rdParty\OpenNI2\Tools