close


我找到的一个方法,我配的pcl1.6,他的是1.5,依赖中多一个lib文件,我已经删了,可以配好,反正运行那几个例子是没问题的:


1.首先在http://www.pointclouds.org/downloads/windows.html下载windows的安装包。我用的是预编译版本的多合一包,需要自己编译的也可以。注意下载时要看清楚vs2010的版本是32位还是64位,不然一些库会找不到对应入口,导致编译不通过的。


tips:可以在开始菜单下的Microsoft Visual Studio 2010文件夹下,查看Microsoft Windows SDK Tools,如果看到程序后面(如IL反汇编程序)有(x64)字样,则vs64位的,没有就放心安装32位版本吧。



如果是用
cmake生成pcl解决方案,要注意在cmake的时候确定各个依赖库的路径,可以在对应项上把鼠标停留一下,看看有什么提示信息,特别是VTK的目录。有些时候能够继续生成,但是部分模块并没有设置好参数,会导致编译出来的PCL运行不良好。


2.安装完毕后就测试一下PCL的效果吧,要注意项目对应的包含目录、库目录、库文件(LIB)和运行环境(DLL)。



http://www.pointclouds.org/documentation/tutorials/pcl_visualizer.php#pcl-visualizer上面的例程试一试,新建工程,粘贴代码……





32位win7系统+Visual <wbr>Studio <wbr>2010中配置PCLStudio 2010中配置PCL" TITLE="32位win7系统+Visual Studio 2010中配置PCL" />






在包含目录下添加:


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



32位win7系统+Visual <wbr>Studio <wbr>2010中配置PCLStudio 2010中配置PCL" TITLE="32位win7系统+Visual Studio 2010中配置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;




32位win7系统+Visual <wbr>Studio <wbr>2010中配置PCLStudio 2010中配置PCL" TITLE="32位win7系统+Visual Studio 2010中配置PCL" />






 



在附加依赖项上添加:


 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,还让我重装了很多次…… 



注意库要对应
debugrelease版,debug后面一般都有-gd或者_debug的,看看就能分出来了。对应错了还会有error LNK


error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in 
XXXX.......



这时应该可以看到成功生成的信息了:



32位win7系统+Visual <wbr>Studio <wbr>2010中配置PCLStudio 2010中配置PCL" TITLE="32位win7系统+Visual Studio 2010中配置PCL" />




别着急运行,会发现还没做完的。






32位win7系统+Visual <wbr>Studio <wbr>2010中配置PCLStudio 2010中配置PCL" TITLE="32位win7系统+Visual Studio 2010中配置PCL" />





 我们还要把对应的dll加到环境中,可以直接把用到的那些dll放到应用程序搜索到的位置,如cpp对应的目录。(=_=!好笨的方法,不过我就是这样做的……)或者是把dll的目录设置到环境中去,譬如


32位win7系统+Visual <wbr>Studio <wbr>2010中配置PCLStudio 2010中配置PCL" TITLE="32位win7系统+Visual Studio 2010中配置PCL" />






这样就真的能够运行了
~泪奔啊,就这么几个步骤弄了半个星期,我这个SB



运行结果



32位win7系统+Visual <wbr>Studio <wbr>2010中配置PCLStudio 2010中配置PCL" TITLE="32位win7系统+Visual Studio 2010中配置PCL" />






http://wenku.baidu.com/view/df796d3d87c24028905fc301.html


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 lsx121924 的頭像
    lsx121924

    lsx121924的部落格

    lsx121924 發表在 痞客邦 留言(0) 人氣()