A. 如何用pcl配置visual studio 2010
1.首先下载windows的安装包。我用的是预编译版本的多合一包,需要自己编译的也可以。注意下载时要看清楚vs2010的版本是32位还是64位,不然一些库会找不到对应入口,导致编译不通过的。
tips:可以在开始菜单下的Microsoft Visual Studio 2010文件夹下,查看Microsoft Windows SDK Tools,如果看到程序后面(如IL反汇编程序)有(x64)字样,则vs是64位的,没有就放心安装32位版本吧。
如果是用cmake生成pcl解决方案,要注意在cmake的时候确定各个依赖库的路径,可以在对应项上把鼠标停留一下,看看有什么提示信息,特别是VTK的目录。有些时候能够继续生成,但是部分模块并没有设置好参数,会导致编译出来的PCL运行不良好。
2.安装完毕后就测试一下PCL的效果吧,要注意项目对应的包含目录、库目录、库文件(LIB)和运行环境(DLL)。
用http://www.pointclouds.org/documentation/tutorials/pcl_visualizer.php#pcl-visualizer上面的例程试一试,新建工程,粘贴代码……
在包含目录下添加:
C:\Program Files\PCL 1.5.1\3rdParty\Boost\include;
C:\Program Files\PCL 1.5.1\3rdParty\Eigen\include;
C:\Program Files\PCL 1.5.1\3rdParty\Flann\include;
C:\Program Files\PCL 1.5.1\3rdParty\Qhull\include;
C:\Program Files\PCL 1.5.1\3rdParty\VTK\include\vtk-5.8;
C:\Program Files\OpenNI\Include;
C:\Program Files\PCL 1.5.1\include\pcl-1.5;
(对应自己机子上PCL的位置,如果为了CMAKE方便很多会放在根目录下。即C:\PCL)
在库目录下添加:
C:\Program Files\PCL 1.5.1\3rdParty\Boost\lib;
C:\Program Files\PCL 1.5.1\3rdParty\Qhull\lib;
C:\Program Files\PCL 1.5.1\3rdParty\Flann\lib;
C:\Program Files\PCL 1.5.1\3rdParty\VTK\lib\vtk-5.8;
C:\Program Files\PCL 1.5.1\lib;
C:\Program Files\OpenNI\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
openNI.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
这里要注意PCL引用到的其他库文件一定要加进去,VTK的库很多,而且依赖关系我看得很乱,所以为了方便就全加进去了。
如果没有加完整,很多信息提示错误的,之前忘了加一个什么库,导致很多error LNK2019,还让我重装了很多次……
注意库要对应debug和release版,debug后面一般都有-gd或者_debug的,看看就能分出来了。对应错了还会有error LNK:
error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in XXXX.......
这时应该可以看到成功生成的信息了:
B. 学习点云库,这句话不是很理解
pcl 是一个命名空间,跟std类似,PointCloud是类模板,<pcl::PointXYZ>是模板类实例化的类型,PointCloud<pcl::PointXYZ>就是一个实例化了的模板类,ptr是只能指针,相当于之前普通指针声明的*,cloud是指针变量,就是一个指向PointCloud<pcl::PointXYZ>类对象的指针,new pcl::PointCloud<pcl::PointXYZ>就是给了一个地址初始化指针
C. WIN7 64位系统,VS2010 x64中PCL all-in-one配置,编译时出现问题,具体如下列图片所示,求大神解答。
1、出现错误:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
解决方案:项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。
Q:该方法治标不治本,每次新建一个项目时都要重新配置。还有为什么这么做就能解决该问题呢?
A:1)治本的方法:
<1>项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”。
<2>项目|项目属性|配置属性|连接器|清单文件|生成清单 “是”改为“否”。
<3>若以上两步后仍没解决问题,则按照以下方法解决:
查找是否有两个cvtres.exe。一个是C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe, 另一个是C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe。右键属性|详细信息 查看两者版本号,删除/重命名较旧的版本,或者重新设置Path变量。
删除旧版本的cvtres.exe后,就不需要每次都设置配置了。
2)为什么这么操作可以解决问题?笔者未查明原因,同仁们有清楚的可以给出评论。
2、1>lena.obj : error LNK2019: 无法解析的外部符号 _cvReleaseImage,该符号在函数 _main 中被引用
1>lena.obj : error LNK2019: 无法解析的外部符号 _cvDestroyWindow,该符号在函数 _main 中被引用
1>lena.obj : error LNK2019: 无法解析的外部符号 _cvWaitKey,该符号在函数 _main 中被引用
1>lena.obj : error LNK2019: 无法解析的外部符号 _cvShowImage,该符号在函数 _main 中被引用
1>lena.obj : error LNK2019: 无法解析的外部符号 _cvNamedWindow,该符号在函数 _main 中被引用
1>lena.obj : error LNK2019: 无法解析的外部符号 _cvLoadImage,该符号在函数 _main 中被引用
1>c:\users\yunyan\documents\visual studio 2010\Projects\lena\Debug\lena.exe : fatal error LNK1120: 6 个无法解析的外部命令
1>
1>生成失败。
1>
1>已用时间 00:00:01.52
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
解决方案:出现错误的原因可能有二,一种是系统配置不对(如x64位下仍使用Win32则错),另一种是少添加了库。笔者的是第一种原因,因为一直习惯了在x86下编写Win32程序,所以编译的时候仍使用了Win32,那么必然运行失败。该问题怎么破呢?如下:
右击项目名称,选择“属性”,弹出页面的最上方中间一项“平台”选择x64,在该平台下按照OpenCV中文网的配置过程。
D. ubuntu下编译pcl权限不够,但我已经是root权限了
首先config.inc.php不是可执行文件,想打开请用vim或gedit
>sudo vim config.inc.php
其次,没有权限是因为文件权限的问题,而非用户权限,想深入了解,请网络chmod命令。
E. pcl是什么意思
PCL指打印机指令语言。
打印语言就是一个命令集,它告诉打印机如何组织被打印的文档。这些命令不是被单独地传送,而是由打印机驱动程序把它们嵌在打印数据中传给打印机,并由打印机的打印控制器再分开解释。
打印机语言很多,但总的来说可以分成两类,一类是页描述语言,另一类是嵌入式语言。页描述语言非常复杂,命令非常多,当然它的功能也很强大,可以用来输出复杂的页面和图像,比较适合打印诸如演讲的材料、技术手册、广告册子等。

(5)pcl定制编译扩展阅读:
相对而言使用PCL语言的打印机在处理文本或一些常见办公应用软件下的文档时具有非常明显的速度优势,PostScript语言的打印机在常见办公应用下的打印速度要慢一些,但在处理PDF文件或在Photoshop等软件下打印大的图形图像文件时具有一定的速度优势。
同时其在图形表现准确度、色彩表现准确度和一些字库表现准确度方面也比PCL语言有优势,另外PostScript语言既可以在PC机平台使用,也可以在苹果机平台下使用。因此PCL语言比较适合一些普通的商务办公应用,而PostScript语言更加适合对图形和色彩准确度要求比较高的专业应用。
不过PCL语言的开放性,降低了使用PCL语言的打印机产品的成本,PostScript语言是Adobe是要收费的,因此PCL在打印机产品中的普及程度远远高于PostScript语言。不过许多高端产品目前都同时提供PCL和PostScript两个版本的驱动。
F. PCL1.6 编译的时候,为什么很多warning
报错信息意思是thread.obj中引用了boost::chrono有关内容,然而boost::chrono却并没有实现,因此需要额外添加相关库文件。
G. pcl启动器怎么加模组
确认了游戏本体有加装模组API后(如Forge),打开游戏文件夹(.minecraft),进入mods文件夹就可以了。
PCL是在吸收了前人点云相关研究基础上建立起来的大型跨平台开源C++编程库,它实现了大量点云相关的通用算法和高效数据结构,涉及到点云获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。
支持多种操作系统平台,可在Windows、Linux、Android、Mac OS X、部分嵌入式实时系统上运行。如果说OpenCV是2D信息获取与处理的结晶,那么PCL就在3D信息获取与处理上具有同等地位,PCL是BSD授权方式,可以免费进行商业和学术应用。

相关信息
PCL是指纳入了多种操作点云数据的三维处理算法,其中包括过滤,特征估计,表面重建,模型拟合和分割,定位搜索等。每一套算法都是通过基类进行划分的,试图把贯穿整个流水线处理技术的所有常见功能整合在一起,从而保持了整个算法实现过程中的紧凑和结构清晰,提高代码的重用性、简洁可读。
为了进一步简化和开发,PCL被分成一系列较小的代码库,使其模块化,以便能够单独编译使用提高可配置性,特别适用于嵌入式处理中,libpcl filters如采样、去除离群点、特征提取、拟合估计等数据实现过滤器。
libpcl features实现多种三维特征,如曲面法线、曲率、边界点估计、矩不变量、主曲率,PFH和FPFH特征,旋转图像、积分图像,NARF描述子,RIFT,相对标准偏差,数据强度的筛选等等。
H. 打印机驱动程序(PCL)能被破解或者反编译
下载的驱动文件进行安装
1.系统内没有打印机驱动程序,又没有驱动光盘,可到“驱动之家”下载,下载后解压备用,要记下该文件存放的在方,如,D:\……\……。
2.“开始”—“打印机和传真”,点击左边窗格中“添加打印机”, 打开“欢迎添加打印机向导”对话框,点击“下一步”,打开“本地或网络打印机”选择连接对话框;
3.选择第一项“连接到此计算机的本地打印机”,勾选“自动检测并安装即插即用打印机”,点“下一步”,打开“新打印机检测”对话框;
4.检测后,打“下一步”,打开“选择打印机端口”对话框; 5.点选“使用以下端口”,在右边的下拉列表中选择推荐的打印机端口“LPT1:”,点击“下一步”,打开“安装打印机软件”对话框;
6.在“安装打印机软件”对话框中,选择“从磁盘安装”,打开“从磁盘安装”对话框,在“厂商文件复制来源”下拉列表中指定文件路径(如,A:\ ,D:\……\……)击“确定”对话框,系统即自动搜索安装。
I. vs2008 PCL C++编译错误 无法定位程序输入点......于动态链接库msvcp90d.dll 这个问题您解决了吗
我也遇到了这个问题,有三种方法可以解决这个令人困扰的问题:
(1)使用者的电脑,必须先安装“Visual C++ 可转发套件,即 Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)”(MSVC 2008 或 MSVC 2005 )。
(2)将所需的 DLL 档案,例如 MSVCR90D.dll 与 MSVCP90D.dll,直接附在程式的下载包当中。
(3)以静态连结方式建置程式执行档。
详细解释参见链接,里面解释的非常好,
http://blog.monkeypotion.net/gameprog/beginner/love-and-hate-between-msvc-and-crt
J. patran PCL使用方法步骤
在ultraedit写代码 在command histroy输入!!input filename.pcl进行编译。或者可以参考patran customization pcl里面的说明。