准备工作:
(1)安装cmake,参考 Windows下CMake的下载与安装详解
(2)主要参考:Qt5.9 + VS2015 + pcl1.8.1 + vtk8.0配置记录
一、安装pcl1.8.1
参考:Pcl1.8.1+vs2015配置_pcl1.8.1 vs2015配置
具体属性表配置参考:VS2015配置PCL详细教程,使用配置属性管理器的方法
运行测试代码
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
using namespace pcl;
using namespace std;
int main(int argc, char** argv)
{
PointCloud<PointXYZ>::Ptr cloud( new PointCloud<PointXYZ>);
// Fill in the cloud data
cloud->width = 5;
cloud->height = 1;
cloud->is_dense = false;
cloud->points.resize(cloud->width * cloud->height);
for (size_t i = 0; i < cloud->points.size(); ++i)
{
cloud->points[i].x = 1024 * rand() / (RAND_MAX + 1.0f);
cloud->points[i].y = 1024 * rand() / (RAND_MAX + 1.0f);
cloud->points[i].z = 1024 * rand() / (RAND_MAX + 1.0f);
}
for (size_t i = 0; i < cloud->points.size(); ++i)
{
cout << " " << cloud->points[i].x << " " << cloud->points[i].y << " " << cloud->points[i].z <<endl;
}
system("pause");
return (0);
}
报错
libboost_system-vc140-mt-gd-1_64.lib(error_code.obj) : error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“2”不匹配值“0”(testpcl.obj 中)
参考LNK1104 无法打开文件“libboost_system-vc141-mt-gd-x64-1_68.lib”,将代码生成模式改为MTd,解决
二、安装qt5.9
1. 下载
官方安装地址 Index of /archive/qt/5.9/5.9.8
中国科学技术大学镜像:http://mirrors.ustc.edu.cn/qtproject/
2. 安装
下载后参考QT在windows平台安装使用MInGW编译 - mingzhang - 博客园 (cnblogs.com),根据自己的需求进行选择
遇到问题:登录界面没有跳过
解决办法:退出安装,断开网络后继续
3. 安装qt插件
参考 Qt5.9 + VS2015 + pcl1.8.1 + vtk8.0配置记录
三、编译vtk8.0.0
下载地址 Tags · VTK / VTK · GitLab (kitware.com)
编译过程参考 Win10+VS2015环境下安装编译PCL1.8.1和VTK8.0.0(踩坑大全)
1.使用cmake编译vtk
报错“error in configuration process project files may be invalid”,
具体问题
CMake Error: Error: generator platform: x64
Does not match the platform used previously:
Either remove the CMakeCache.txt file and CMakeFiles directory or choose a different binary directory.CMake Error at CMake/vtkTargetLinkLibrariesWithDynamicLookup.cmake:67 (try_compile):
Failed to configure test project build system.
Call Stack (most recent call first):
CMake/vtkTargetLinkLibrariesWithDynamicLookup.cmake:89 (_vtkCheckUndefinedSymbolsAllowed)
CMake/vtkModuleMacros.cmake:8 (include)
CMakeLists.txt:76 (include)
因为我第一次使用的win32生成,在改为x64之后忘了删除之前build文件夹中的文件
2. 使用VS编译Cmake编译后的VTK
主要过程和参考教程一样,后续参考继续进行
3. 编译文件测试
4. 配置属性表
在安装pcl1.8.1时建立了PCL的属性表,所以这里需要先删除其中和vtk相关的内容,然后重新建立一个vtk8.0.0的属性表。
快速将当前目录下所有lib文件的名称保存到一个txt文件中:
打开cmd,cd到存放lib文件的目录中,输入指令:dir *.lib /b >LIBLIST.TXT,此时LIBLIST.TXT会保存所有的lib文件
PCL的debug属性表
VTK的debug属性表
VTK的release属性表
5. 修改环境变量
四、完整测试,参考
遇到问题
1. 打开ui界面几秒后闪退
解决:VS打开Qt的ui界面几秒后闪退(ui无法打开文件)的解决办法
2. error MSB3491: 未能向文件“x64\Debug\QtpclVisual.tlog\uic.read.1u.tlog”写入命令行。未能找到路径“c:\Users\chen\documents\visual studio 2015\Projects\QtpclVisual\QtpclVisual\x64\Debug\QtpclVisual.tlog\uic.read.1u.tlog”的一部分。
暂时没找到解决办法
未进行完整测试,待续