Win10 64位系统下PCL + Visual Studio + cmake + (Qt) 安装调试

在这里只介绍all in one方式安装

1.软件准备

安装pcl(点云库)需要涉及pcl、pcl-pdb、cmake、openni、visual studio、qt等软件。
pcl是点云算法库。
pcl-pdb是pcl的数据库文件。
cmake是用来为你所编写的程序进行环境配置及生成项目文件。
visual studion是windows的开发工具,将经过cmake生成的项目文件执行产生可执行文件。
qt是一个图形库,这里需要安装qt是因为pcl中有一个第三库vtk中涉及qt库中的函数。
从网上下载这些软件需要遵守一定的规则,下载的所有软件位数最好统一,全部为32位,或64位。其中在pcl官网下载pcl、pdb文件时要与visual studio的版本相对应。你如果想省事的话,可以下载我云盘里的所有文件。
PCL-1.6.0-AllInOne-msvc2010-win32.exe 提取密码:3jim
pcl-1.6.0-pdb-msvc2010-win32.zip 提取密码:vdd6
cmake-3.4.0-rc3-win32-x86.exe 提取密码:c09l
OpenNI-Win32-1.5.4-Dev.msi 提取密码:qj08
cn_visual_studio_2010_ultimate_x86_dvd_532347.iso 提取密码:h45r
qt-opensource-windows-x86-vs2010-4.8.6.exe 提取密码:sdr9

2.pcl安装

安装过程如图:



建议取消openni,openni单独安装,因为未去掉openni时发生了错误,可能是我系统的问题,你可以先尝试一下不去掉openni安装


单独安装openni

将下载的pcl的pdb文件解压,并将解压后的所有文件拷贝到pcl安装目录下的bin目录下,如E:/program files/pcl 1.6.0/bin

关于cmake、visual studio的安装很简单,在这里就不再讲解。

3.测试

新建一个目录example,在其目录下新建两个子目录sourcecmake-bin,在source下新建两个文件project_inliers.cppCMakeLists.txt

project_inliers.cpp内容如下:

#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/ModelCoefficients.h>
#include <pcl/filters/project_inliers.h>intmain (int argc, char** argv)
{pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_projected (new pcl::PointCloud<pcl::PointXYZ>);// Fill in the cloud datacloud->width  = 5;cloud->height = 1;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);}std::cerr << "Cloud before projection: " << std::endl;for (size_t i = 0; i < cloud->points.size (); ++i)std::cerr << "    " << cloud->points[i].x << " " << cloud->points[i].y << " " << cloud->points[i].z << std::endl;// Create a set of planar coefficients with X=Y=0,Z=1pcl::ModelCoefficients::Ptr coefficients (new pcl::ModelCoefficients ());coefficients->values.resize (4);coefficients->values[0] = coefficients->values[1] = 0;coefficients->values[2] = 1.0;coefficients->values[3] = 0;// Create the filtering objectpcl::ProjectInliers<pcl::PointXYZ> proj;proj.setModelType (pcl::SACMODEL_PLANE);proj.setInputCloud (cloud);proj.setModelCoefficients (coefficients);proj.filter (*cloud_projected);std::cerr << "Cloud after projection: " << std::endl;for (size_t i = 0; i < cloud_projected->points.size (); ++i)std::cerr << "    " << cloud_projected->points[i].x << " " << cloud_projected->points[i].y << " " << cloud_projected->points[i].z << std::endl;return (0);
}

CMakeLists.txt内容如下:

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)project(project_inliers)find_package(PCL 1.2 REQUIRED)include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})add_executable (project_inliers project_inliers.cpp)
target_link_libraries (project_inliers ${PCL_LIBRARIES})

运行cmake按照下图操作





cmake配置生成最终会产生如下项目,该项目包含如下文件

双击运行*.sln文件,会以visual studio打开
通过视图--解决方案资源管理器,打开*.cpp文件

Proj_Name右击设置成启动项
开始debug
但是在运行时很可能出现错误:
fatal error LNK1104: 无法打开文件“C:\Qt\4.8.0\lib\QtGuid4.lib”,这主要是因为VTK库里面依赖函数的关系不对应,我的QT版本是Qt4.8.6所以必须修改这些依赖函数。
解决方法是打开路径E:\Program Files\PCL 1.6.0\3rdParty\VTK\lib\vtk-5.8下的三个文件:
VTKConfigQt.cmake
VTKTargets-debug.cmake
VTKTargets-release.cmake
将其中的路径C:\Qt\4.8.0替换成你现有版本的Qt路径,例如我的是:E:\Qt4.8.6,(当然也可以将这个路径定义为环境变量 $(QT_ROOT));最终即可正常运行。
4.执行可执行文件
上面几个步骤运行无误后,就会在cmake-bin/Debug目录下产生一个exe的可执行文件,windows下可通过cmd运行该文件。
win+R——cmd,运行效果如下:

Win10 64位系统下PCL + Visual Studio + cmake + (Qt) 安装调试相关推荐

  1. CodeWarriorV6.1在Win10 64位系统下安装及使用

    CodeWarriorV6.1在Win10 64位系统下安装及使用 网络上搜索好久,官网也注册了,始终没有找到适合我的HCS08系列的IDE,用虚拟机Win7无法连接BDM刷入程序,不知道原因.. 分 ...

  2. win764位mysql免安装_win7 64位系统 下的mysql 5.6 免安装版配置

    2.修改my.ini 文件 copy default.ini 并修改 [client] port=3306 default-character-set=utf8 #客户端字符类型,与服务端一致就行,建 ...

  3. python3.7 win10 64位系统下用pyinstaller打包的程序在32位系统下无法运行

    问题背景: 在64位的win10系统下,用python 3.7.4 写了个定时报警的小玩意儿,主要用到了pyaudio模块,写完之后,使用pyinstaller打包成.exe文件,在其他64位的电脑下 ...

  4. win10 64位系统下 汇编语言环境搭建

    汇编语言应该也是很多大学计算机专业都会开设的一门课程,今天再写汇编实验的时候遇到了些问题,幸好当时安装软件的时候写了个总结,才使问题能够很快得以解决,于是就把这个汇编软件的安装发了出来. 废话不多说, ...

  5. WIN10 64位系统下如何 进行OPC和DCOM配置

    PDF文件: 本文,链接:  百度网盘 密码: reht, Win7和Win7_SP1网络OPC配置,链接:  百度网盘 密码: dhhc 在线参考:英文的 参考1 参考2 使用的OPCServer服 ...

  6. (win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功

    (win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功 Visual Studio 2015下载地址:https://msdn.itellyo ...

  7. 64位系统下,一个32位的程序究竟可以申请到多少内存,4GB还是更多

    前言: cpu的位是指一次性可处理的数据量是多少,1字节=8位,32位处理器可以一次性处理4个字节的数据量,依次类推.32位操作系统针对的32位的CPU设计.64位操作系统针对的64位的CPU设计.操 ...

  8. 64位系统下一个32位的程序究竟可以申请到多少内存?

    64位系统下一个32位的程序究竟可以申请到多少内存? cpu的位是指一次性可处理的数据量是多少,1字节=8位,32位处理器可以一次性处理4个字节的数据量,依次类推.32位操作系统针对的32位的CPU设 ...

  9. 64位系统下,一个32位的程序究竟可以申请到多少内存,4GB还是更多?

    前言: cpu的位是指一次性可处理的数据量是多少,1字节=8位,32位处理器可以一次性处理4个字节的数据量,依次类推.32位操作系统针对的32位的CPU设计.64位操作系统针对的64位的CPU设计.操 ...

最新文章

  1. SCI期刊上发现大量辣眼学术名词,用机翻规避抄袭,作者主要来自中国
  2. Swift 新特性 - 访问控制(Access Control)
  3. import lombok 报错_Android上使用Lombok和set、get方法告别
  4. Java 中去除字符串中空格的方法
  5. mui 头部横向滚动菜单
  6. JavaScript 秘密花园[转]
  7. struts2中的method
  8. [译] 在远程工作中领悟到的 10 件事
  9. Sublime 自定义格式化快捷键
  10. itunes备份包括哪些内容_软件开发项目技术方案包括哪些内容
  11. 照片审核处理工具_不需要Photoshop,这5款在线处理图片工具能帮你好好处理照片!...
  12. m5310采用芯片 中移物联_智慧交通,未来已来!汉天下助力中移物联,引爆NB-IoT行业!...
  13. 精讲精练之图像分割经典算法——分水岭算法
  14. 想晋升Android架构师——学习这些核心技术够用吗?
  15. 消费金融及物流概念介绍
  16. CANopen COB-ID 使能PDO功能
  17. IntellIdea+SpingMVC简单项目
  18. 2.1、用JsonParser解析json树模型
  19. HDCP ---- 名词解释
  20. HIDL服务死亡通知实例 hidl_death_recipient

热门文章

  1. 编写Android.mk中的LOCAL_SRC_FILES,使其自动查找源文件,不需要手动添加
  2. 大数据_Hbase-(知识点回顾)---Hbase工作笔记0010
  3. Linux学习笔记020---CentOs7.3 搭建 Solr单机服务
  4. System学习笔记005---如何查看远程的一台电脑的某个端口有没有打开_centos查看某个端口是否打开
  5. 常见面试题思想方法整理
  6. C++ - C++ signal的使用
  7. PHP window2003服务和2008服务器上传个别文件访问报错
  8. linux如何运行python_[TimLinux] Python如何运行程序
  9. CJSON之完全基于C库函数的使用
  10. 【10天基于STM32F401RET6智能锁项目实战第4天】外部中断的按键实现语音控制