https://blog.csdn.net/liukunrs/article/details/80216329
大体转载自:https://blog.csdn.net/sinat_24206709/article/details/50973104
在win10基础上略有修改(针对该方法每次都需要添加库函数和生成文件太大的问题,建议使用我博客中的关于使用Cmake调试PCL的文章或者参考我关于PCL1.8.0配置中.pro的设置和保存)
我办公电脑win7,个人电脑win10都安装成功了。
一、PCL+VS2010安装与环境配置
我的电脑环境参数:
操作系统:Win10 64bit
VS版本:Visual Studio2010 64bit Chinese Ultimate
安装包版本:PCL 1.6.0 All-In-One Installer、PDB files
1、官方下载地址:http://www.pointclouds.org/downloads/windows.html,下载PCL完全安装包1.6.0 all-in-one-installer和PDB file,我的电脑是64位的选择Windows MSVC 2010 (64bit)
注:1.6.0 all-in-one-installer不支持Qt,需要Qt支持的得下载各个独立的安装包才能在Qt中运行。
2、安装:双击PCL-1.6.0-AllInOne-msvc2010-win64.exe经行傻瓜式安装(注意添加环境路径,自己修改啊),中间有需要更改安装路径的自己动手改一下,这个过程中会提示安装几个第三方软件:Eigen、Boost、Qhull、Flann、VTK、OpenNI、PrimeScene。改路径时放在一个相同的大文件夹里,方便查找。(如果openni安装不成功,可以先跳过,然后打开C:Program FilesPCL1.6.03rdPartyOpenNI文件夹,然后再安装里边的OpenNI-Win64-1.3.2-Dev.msi和Sensor-Win-OpenSource64-5.0.3.msi。自己的笔记本Lenovo G480是先单独安装了OpenNI-Win64-1.5.4-Dev.msi和Sensor-Win-OpenSource64-5.1.0.msi。后来卸载了OpenNI和Primesense,再打开C:Program FilesPCL1.6.03rdPartyOpenNI文件夹安装里边的)
注意:在进行到是否选择添加到电脑路径中时:选择添加到所有用户!!!!!!!
下图一是安装后在Program Files中产生的三个文件夹;下图二是安装后3rdParty文件夹中的六个第三方软件生成的文件夹。
3、将pcl-1.6.0-pdb-msvc2010-win64.zip解压,并把解压文件复制到安装好的PCL目录下的bin文件夹中,以实现后期但不(好像是“单步”)PCL源码调试,至此就在Win7 、VS2010等64位的环境下配置好了PCL的安装环境。
4、配置环境变量
计算机—>右击—>属性—>高级系统设计—>环境变量—>系统变量:(变量 PCL_ROOT )(值 C:Program FilesPCL 1.6.0)(G480电脑不需要,但可以查看一下)
系统路径path后添加(我这有点重复,自己认真看看,重复的可以不要,但是加上也没什么影响):(G480的电脑不用配置,可以查看一下)
-
C:Program FilesOpenNIBin64;
-
-
C:Program FilesPCL 1.6.0in;
-
-
C:Program Files (x86)Microsoft Visual StudioVC98include;
-
-
C:Program FilesPCL 1.6.03rdPartyEigeninclude;
-
-
C:Program FilesPCL 1.6.03rdPartyBoostinclude;
-
-
C:Program FilesPCL 1.6.03rdPartyFLANNinclude;
-
-
C:Program FilesPCL 1.6.03rdPartyQhullinclude;
-
-
C:Program FilesPCL 1.6.03rdPartyVTKincludevtk-5.8;
-
-
C:Program FilesOpenNIInclude;
-
-
C:Program FilesPCL 1.6.0includepcl-1.6;
-
-
C:Program FilesOpenNILib64;
-
-
C:Program FilesPCL 1.6.0lib;
-
-
C:Program FilesPCL 1.6.03rdPartyVTKlibvtk-5.8;
-
-
C:Program FilesPCL 1.6.03rdPartyFLANNlib;
-
-
C:Program FilesPCL 1.6.03rdPartyQhulllib;
-
-
C:Program FilesPCL 1.6.03rdPartyBoostlib;
-
-
C:Program FilesOpenNIBin64;
-
-
C:Program FilesPCL 1.6.0in;
-
-
C:Program FilesPCL 1.6.03rdPartyFLANNin;
-
-
C:Program FilesPCL 1.6.03rdPartyQhullin;
-
-
C:Program FilesPCL 1.6.03rdPartyEigenin;
-
-
C:Program FilesPCL 1.6.03rdPartyVTKin
二、新建工程并测试安装环境
1、新建Win32控制台应用程序,空工程,拷贝源文件(右击源文件,添加,现有项),文件路径如下所示,自己在电脑的安装目录下找。
1. C:Program FilesPCL 1.6.0sharedocpcl-1.6 utorialssourcescloud_viewer.cpp
(如果1步骤找到了cloud_viewer.cpp就不用下面的2步的拷贝.cpp源代码了)
2、到工程目录下,添加到工程,源文件如下,懒得找的人可以拷贝到自己的.cpp文件下。
cloud_viewer.cpp
-
-
-
-
-
-
int user_data;
-
-
void
-
viewerOneOff (pcl::visualization::PCLVisualizer& viewer)
-
{
-
viewer.setBackgroundColor (1.0, 0.5, 1.0);
-
pcl::PointXYZ o;
-
o.x = 1.0;
-
o.y = 0;
-
o.z = 0;
-
viewer.addSphere (o, 0.25, "sphere", 0);
-
std::cout << "i only run once" << std::endl;
-
-
}
-
-
void
-
viewerPsycho (pcl::visualization::PCLVisualizer& viewer)
-
{
-
static unsigned count = 0;
-
std::stringstream ss;
-
ss << "Once per viewer loop: " << count++;
-
viewer.removeShape ("text", 0);
-
viewer.addText (ss.str(), 200, 300, "text", 0);
-
-
//FIXME: possible race condition here:
-
user_data++;
-
}
-
-
int
-
main ()
-
{
-
pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZRGBA>);
-
pcl::io::loadPCDFile ("my_point_cloud.pcd", *cloud);
-
-
pcl::visualization::CloudViewer viewer("Cloud Viewer");
-
-
//blocks until the cloud is actually rendered
-
viewer.showCloud(cloud);
-
-
//use the following functions to get access to the underlying more advanced/powerful
-
//PCLVisualizer
-
-
//This will only get called once
-
viewer.runOnVisualizationThreadOnce (viewerOneOff);
-
-
//This will get called once per visualization iteration
-
viewer.runOnVisualizationThread (viewerPsycho);
-
while (!viewer.wasStopped ())
-
{
-
//you can also do cool processing here
-
//FIXME: Note that this is running in a separate thread from viewerPsycho
-
//and you should guard against race conditions yourself...
-
user_data++;
-
}
-
return 0;
-
}
3、配置工程:主要包括添加include文件夹、lib文件夹和添加.lib库文件
(1)添加include文件夹(先不着急改成X64平台)
你可以把安装目录D:Program FilesPCL 1.6.0改成自己的安装目录 项目右击—>属性—>C/C++—>附加包含目录:
[cpp] view plain copy
1. Include:
2. C:Program FilesPCL 1.6.03rdPartyBoostinclude;C:Program FilesPCL 1.6.03rdPartyEigeninclude;C:Program FilesPCL 1.6.03rdPartyFLANNinclude;C:Program FilesPCL 1.6.03rdPartyQhullinclude;C:Program FilesPCL 1.6.03rdPartyVTKincludevtk-5.8;C:Program FilesOpenNIInclude;C:Program FilesPCL 1.6.0includepcl-1.6
(当然,你也可以在项目属性->VC++目录->包含目录 添加上述路径,二选一,效果一样)
(2)添加bin文件夹
项目右击—>属性—>链接器—>常规—>附加库目录:
[cpp] view plain copy
1. lib:——注意<span style="color:#ff0000;">OpenNILib64</span> (rudy的电脑不用理会)
2. C:Program FilesPCL 1.6.03rdPartyBoostlib;C:Program FilesPCL 1.6.03rdPartyQhulllib;C:Program FilesPCL 1.6.03rdPartyFLANNlib;C:ProgramFilesPCL1.6.03rdPartyVTKlibvtk-5.8;
C:Program FilesPCL 1.6.0lib;
C:Program FilesOpenNILib64
(当然,你也可以在项目属性->VC++目录->库目录 添加上述路径,二选一,效果一样)
(3)添加.lib库文件
dubug模式,链接器->输入->附加依赖项 添加(注意和Lib文件夹下的.lib文件比对,一般后缀带_debug和_gd的为调试模式):
后边附录有可以直接复制的.lib
-
opengl32.lib
-
pcl_kdtree_debug.lib
-
pcl_io_debug.lib
-
pcl_search_debug.lib
-
pcl_segmentation_debug.lib
-
pcl_apps_debug.lib
-
pcl_features_debug.lib
-
pcl_filters_debug.lib
-
pcl_visualization_debug.lib
-
pcl_common_debug.lib
-
flann_cpp_s-gd.lib
-
libboost_system-vc100-mt-gd-1_47.lib
-
libboost_filesystem-vc100-mt-gd-1_47.lib
-
libboost_thread-vc100-mt-gd-1_47.lib
-
libboost_date_time-vc100-mt-gd-1_47.lib
-
libboost_iostreams-vc100-mt-gd-1_47.lib
-
vtkalglib-gd.lib
-
vtkCharts-gd.lib
-
vtkCommon-gd.lib
-
vtkDICOMParser-gd.lib
-
vtkexoIIc-gd.lib
-
vtkexpat-gd.lib
-
vtkFiltering-gd.lib
-
vtkfreetype-gd.lib
-
vtkftgl-gd.lib
-
vtkGenericFiltering-gd.lib
-
vtkGeovis-gd.lib
-
vtkGraphics-gd.lib
-
vtkhdf5-gd.lib
-
vtkHybrid-gd.lib
-
vtkImaging-gd.lib
-
vtkInfovis-gd.lib
-
vtkIO-gd.lib
-
vtkjpeg-gd.lib
-
vtklibxml2-gd.lib
-
vtkmetaio-gd.lib
-
vtkNetCDF-gd.lib
-
vtkNetCDF_cxx-gd.lib
-
vtkpng-gd.lib
-
vtkproj4-gd.lib
-
vtkRendering-gd.lib
-
vtksqlite-gd.lib
-
vtksys-gd.lib
-
vtktiff-gd.lib
-
vtkverdict-gd.lib
-
vtkViews-gd.lib
-
vtkVolumeRendering-gd.lib
-
vtkWidgets-gd.lib
-
vtkzlib-gd.lib
注意:
全文重点之处:在VS2010界面的调试按钮旁边,我们要可以看到Debug和Win32,此时一定要在Win32的下拉列表中点击 配置管理器,进入配置管理器对话框,活动解决方案平台,点击新建,会提示复制到X64,设置为X64。
4、正常情况下,此时是可以编译通过的,但是执行时找不到mypointcloud.pcd文件,我们需要自己创建mypointcloud.pcd文件
用记事本新建一个记事本文件,打开后,复制下列代码,然后保存,保存好以后再重命名为my_point_cloud.pcd,后缀.pcd要带上放到目录 中。
在最后的附录有可直接复制的.pcd数据
-
# .PCD v.7 - Point Cloud Data file format
-
VERSION .7
-
FIELDS x y z rgb
-
SIZE 4 4 4 4
-
TYPE F F F F
-
COUNT 1 1 1 1
-
WIDTH 213
-
HEIGHT 1
-
VIEWPOINT 0 0 0 1 0 0 0
-
POINTS 213
-
DATA ascii
-
0.93773 0.33763 0 4.2108e+06
-
0.90805 0.35641 0 4.2108e+06
-
0.81915 0.32 0 4.2108e+06
-
0.97192 0.278 0 4.2108e+06
-
0.944 0.29474 0 4.2108e+06
-
0.98111 0.24247 0 4.2108e+06
-
0.93655 0.26143 0 4.2108e+06
-
0.91631 0.27442 0 4.2108e+06
-
0.81921 0.29315 0 4.2108e+06
-
0.90701 0.24109 0 4.2108e+06
-
0.83239 0.23398 0 4.2108e+06
-
0.99185 0.2116 0 4.2108e+06
-
0.89264 0.21174 0 4.2108e+06
-
0.85082 0.21212 0 4.2108e+06
-
0.81044 0.32222 0 4.2108e+06
-
0.74459 0.32192 0 4.2108e+06
-
0.69927 0.32278 0 4.2108e+06
-
0.8102 0.29315 0 4.2108e+06
-
0.75504 0.29765 0 4.2108e+06
-
0.8102 0.24399 0 4.2108e+06
-
0.74995 0.24723 0 4.2108e+06
-
0.68049 0.29768 0 4.2108e+06
-
0.66509 0.29002 0 4.2108e+06
-
0.69441 0.2526 0 4.2108e+06
-
0.62807 0.22187 0 4.2108e+06
-
0.58706 0.32199 0 4.2108e+06
-
0.52125 0.31955 0 4.2108e+06
-
0.49351 0.32282 0 4.2108e+06
-
0.44313 0.32169 0 4.2108e+06
-
0.58678 0.2929 0 4.2108e+06
-
0.53436 0.29164 0 4.2108e+06
-
0.59308 0.24134 0 4.2108e+06
-
0.5357 0.2444 0 4.2108e+06
-
0.50043 0.31235 0 4.2108e+06
-
0.44107 0.29711 0 4.2108e+06
-
0.50727 0.22193 0 4.2108e+06
-
0.43957 0.23976 0 4.2108e+06
-
0.8105 0.21112 0 4.2108e+06
-
0.73555 0.2114 0 4.2108e+06
-
0.69907 0.21082 0 4.2108e+06
-
0.63327 0.21154 0 4.2108e+06
-
0.59165 0.21201 0 4.2108e+06
-
0.52477 0.21491 0 4.2108e+06
-
0.49375 0.21006 0 4.2108e+06
-
0.4384 0.19632 0 4.2108e+06
-
0.43425 0.16052 0 4.2108e+06
-
0.3787 0.32173 0 4.2108e+06
-
0.33444 0.3216 0 4.2108e+06
-
0.23815 0.32199 0 4.808e+06
-
0.3788 0.29315 0 4.2108e+06
-
0.33058 0.31073 0 4.2108e+06
-
0.3788 0.24399 0 4.2108e+06
-
0.30249 0.29189 0 4.2108e+06
-
0.23492 0.29446 0 4.808e+06
-
0.29465 0.24399 0 4.2108e+06
-
0.23514 0.24172 0 4.808e+06
-
0.18836 0.32277 0 4.808e+06
-
0.15992 0.32176 0 4.808e+06
-
0.08642 0.32181 0 4.808e+06
-
0.039994 0.32283 0 4.808e+06
-
0.20039 0.31211 0 4.808e+06
-
0.1417 0.29506 0 4.808e+06
-
0.20921 0.22332 0 4.808e+06
-
0.13884 0.24227 0 4.808e+06
-
0.085123 0.29441 0 4.808e+06
-
0.048446 0.31279 0 4.808e+06
-
0.086957 0.24399 0 4.808e+06
-
0.3788 0.21189 0 4.2108e+06
-
0.29465 0.19323 0 4.2108e+06
-
0.23755 0.19348 0 4.808e+06
-
0.29463 0.16054 0 4.2108e+06
-
0.23776 0.16054 0 4.808e+06
-
0.19016 0.21038 0 4.808e+06
-
0.15704 0.21245 0 4.808e+06
-
0.08678 0.21169 0 4.808e+06
-
0.012746 0.32168 0 4.808e+06
-
-0.075715 0.32095 0 4.808e+06
-
-0.10622 0.32304 0 4.808e+06
-
-0.16391 0.32118 0 4.808e+06
-
0.00088411 0.29487 0 4.808e+06
-
-0.057568 0.29457 0 4.808e+06
-
-0.0034333 0.24399 0 4.808e+06
-
-0.055185 0.24185 0 4.808e+06
-
-0.10983 0.31352 0 4.808e+06
-
-0.15082 0.29453 0 4.808e+06
-
-0.11534 0.22049 0 4.808e+06
-
-0.15155 0.24381 0 4.808e+06
-
-0.1912 0.32173 0 4.808e+06
-
-0.281 0.3185 0 4.808e+06
-
-0.30791 0.32307 0 4.808e+06
-
-0.33854 0.32148 0 4.808e+06
-
-0.21248 0.29805 0 4.808e+06
-
-0.26372 0.29905 0 4.808e+06
-
-0.22562 0.24399 0 4.808e+06
-
-0.25035 0.2371 0 4.808e+06
-
-0.29941 0.31191 0 4.808e+06
-
-0.35845 0.2954 0 4.808e+06
-
-0.29231 0.22236 0 4.808e+06
-
-0.36101 0.24172 0 4.808e+06
-
-0.0034393 0.21129 0 4.808e+06
-
-0.07306 0.21304 0 4.808e+06
-
-0.10579 0.2099 0 4.808e+06
-
-0.13642 0.21411 0 4.808e+06
-
-0.22562 0.19323 0 4.808e+06
-
-0.24439 0.19799 0 4.808e+06
-
-0.22591 0.16041 0 4.808e+06
-
-0.23466 0.16082 0 4.808e+06
-
-0.3077 0.20998 0 4.808e+06
-
-0.3413 0.21239 0 4.808e+06
-
-0.40551 0.32178 0 4.2108e+06
-
-0.50568 0.3218 0 4.2108e+06
-
-0.41732 0.30844 0 4.2108e+06
-
-0.44237 0.28859 0 4.2108e+06
-
-0.41591 0.22004 0 4.2108e+06
-
-0.44803 0.24236 0 4.2108e+06
-
-0.50623 0.29315 0 4.2108e+06
-
-0.50916 0.24296 0 4.2108e+06
-
-0.57019 0.22334 0 4.2108e+06
-
-0.59611 0.32199 0 4.2108e+06
-
-0.65104 0.32199 0 4.2108e+06
-
-0.72566 0.32129 0 4.2108e+06
-
-0.75538 0.32301 0 4.2108e+06
-
-0.59653 0.29315 0 4.2108e+06
-
-0.65063 0.29315 0 4.2108e+06
-
-0.59478 0.24245 0 4.2108e+06
-
-0.65063 0.24399 0 4.2108e+06
-
-0.70618 0.29525 0 4.2108e+06
-
-0.76203 0.31284 0 4.2108e+06
-
-0.70302 0.24183 0 4.2108e+06
-
-0.77062 0.22133 0 4.2108e+06
-
-0.41545 0.21099 0 4.2108e+06
-
-0.45004 0.19812 0 4.2108e+06
-
-0.4475 0.1673 0 4.2108e+06
-
-0.52031 0.21236 0 4.2108e+06
-
-0.55182 0.21045 0 4.2108e+06
-
-0.5965 0.21131 0 4.2108e+06
-
-0.65064 0.2113 0 4.2108e+06
-
-0.72216 0.21286 0 4.2108e+06
-
-0.7556 0.20987 0 4.2108e+06
-
-0.78343 0.31973 0 4.2108e+06
-
-0.87572 0.32111 0 4.2108e+06
-
-0.90519 0.32263 0 4.2108e+06
-
-0.95526 0.34127 0 4.2108e+06
-
-0.79774 0.29271 0 4.2108e+06
-
-0.85618 0.29497 0 4.2108e+06
-
-0.79975 0.24326 0 4.2108e+06
-
-0.8521 0.24246 0 4.2108e+06
-
-0.91157 0.31224 0 4.2108e+06
-
-0.95031 0.29572 0 4.2108e+06
-
-0.92223 0.2213 0 4.2108e+06
-
-0.94979 0.24354 0 4.2108e+06
-
-0.78641 0.21505 0 4.2108e+06
-
-0.87094 0.21237 0 4.2108e+06
-
-0.90637 0.20934 0 4.2108e+06
-
-0.93777 0.21481 0 4.2108e+06
-
0.22244 -0.0296 0 4.808e+06
-
0.2704 -0.078167 0 4.808e+06
-
0.24416 -0.056883 0 4.808e+06
-
0.27311 -0.10653 0 4.808e+06
-
0.26172 -0.10653 0 4.808e+06
-
0.2704 -0.1349 0 4.808e+06
-
0.24428 -0.15599 0 4.808e+06
-
0.19017 -0.025297 0 4.808e+06
-
0.14248 -0.02428 0 4.808e+06
-
0.19815 -0.037432 0 4.808e+06
-
0.14248 -0.03515 0 4.808e+06
-
0.093313 -0.02428 0 4.808e+06
-
0.044144 -0.02428 0 4.808e+06
-
0.093313 -0.03515 0 4.808e+06
-
0.044144 -0.03515 0 4.808e+06
-
0.21156 -0.17357 0 4.808e+06
-
0.029114 -0.12594 0 4.2108e+06
-
0.036583 -0.15619 0 4.2108e+06
-
0.22446 -0.20514 0 4.808e+06
-
0.2208 -0.2369 0 4.808e+06
-
0.2129 -0.208 0 4.808e+06
-
0.19316 -0.25672 0 4.808e+06
-
0.14497 -0.27484 0 4.808e+06
-
0.030167 -0.18748 0 4.2108e+06
-
0.1021 -0.27453 0 4.808e+06
-
0.1689 -0.2831 0 4.808e+06
-
0.13875 -0.28647 0 4.808e+06
-
0.086993 -0.29568 0 4.808e+06
-
0.044924 -0.3154 0 4.808e+06
-
-0.0066125 -0.02428 0 4.808e+06
-
-0.057362 -0.02428 0 4.808e+06
-
-0.0066125 -0.03515 0 4.808e+06
-
-0.057362 -0.03515 0 4.808e+06
-
-0.10653 -0.02428 0 4.808e+06
-
-0.15266 -0.025282 0 4.808e+06
-
-0.10653 -0.03515 0 4.808e+06
-
-0.16036 -0.037257 0 4.808e+06
-
0.0083286 -0.1259 0 4.2108e+06
-
0.0007442 -0.15603 0 4.2108e+06
-
-0.1741 -0.17381 0 4.808e+06
-
-0.18502 -0.02954 0 4.808e+06
-
-0.20707 -0.056403 0 4.808e+06
-
-0.23348 -0.07764 0 4.808e+06
-
-0.2244 -0.10653 0 4.808e+06
-
-0.23604 -0.10652 0 4.808e+06
-
-0.20734 -0.15641 0 4.808e+06
-
-0.23348 -0.13542 0 4.808e+06
-
0.0061083 -0.18729 0 4.2108e+06
-
-0.066235 -0.27472 0 4.808e+06
-
-0.17577 -0.20789 0 4.808e+06
-
-0.10861 -0.27494 0 4.808e+06
-
-0.15584 -0.25716 0 4.808e+06
-
-0.0075775 -0.31546 0 4.808e+06
-
-0.050817 -0.29595 0 4.808e+06
-
-0.10306 -0.28653 0 4.808e+06
-
-0.1319 -0.2831 0 4.808e+06
-