您的位置:首页 > 其它

PCL 在windows 下的配置(不需要Cmake)

2014-08-07 10:59 253 查看
一、采用集成编译环境VS2010(不需要使用Cmake)

1、下载所需要的安装软件:首先安装:visual studio 2010;

然后下载安装:PCL-1.6.0-AllInOne-msvc2010-win32,下载地址:http://pointclouds.org/downloads/windows.html

再下载pcl-1.6.0-pdb-msvc2010-win32文件(地址同上),解压并将文件夹内所有文件复制粘贴到上一步安装好的PCL目录下的bin子文件夹(如 C:\ProgramFiles\PCL 1.6.0\bin)。

至此,PCL开发环境已经在window下配置好。

2、如何在VS2010环境下测试PCL开发环境是否配置好在不使用Cmake的条件下如何使用VS2010测试PCL开发环境是否安装成功。

测试例子:project_inliers.cpp, 这个源程序可以在网址:http://pointclouds.org/documentation/tutorials/project_inliers.php处下载到。

(1) 首先打开VS2010,新建一个VC++项目(win32控制台应用程序)。

(2) 将得到的project_inliers.cpp源程序拷贝覆盖到上面新建的VC++项目中的project_inliers.cpp内,注意保留原始的#include "stdafx.h",保存。

(3) 配置工程属性:项目(p)-->project_inliers属性--->在新打开的属性窗口中进行多项配置,包括“VC++目录”下的配置,debug模式下“链接器”中的配置具体如下:

(3.1)VC++目录--->包含目录--->添加:

C:\Program Files\PCL 1.6.0\include\pcl-1.6;

C:\Program Files\PCL 1.6.0\3rdParty\Boost\include;

C:\Program Files\PCL 1.6.0\3rdParty\Eigen\include;

C:\Program Files\PCL 1.6.0\3rdParty\FLANN\include;

C:\Program Files\PCL 1.6.0\3rdParty\Qhull\include;

C:\Program Files\PCL 1.6.0\3rdParty\VTK\include\vtk-5.8;

C:\Program Files\OpenNI\Include;

当然,为了表示的简单,我们也可以在打开VS2010建立工程项目之前先定义环境变量来简化此处的表达:

计算机-->属性-->高级系统设置-->环境变量-->系统变量-->新建,变量名PCL_ROOT,变量值:C:\Program Files\PCL 1.6.0。那么此时上面的包含路径表示可以改成:

$(PCL_ROOT)\include\pcl-1.6;

$(PCL_ROOT)\3rdParty\Boost\include;

$(PCL_ROOT)\3rdParty\Eigen\include;

$(PCL_ROOT)\3rdParty\FLANN\include;

$(PCL_ROOT)\3rdParty\Qhull\include;

$(PCL_ROOT)\3rdParty\VTK\include\vtk-5.8;

C:\Program Files\OpenNI\Include;

(3.2)VC++目录--->库目录--->添加:

C:\Program Files\PCL 1.6.0\lib;

C:\Program Files\PCL 1.6.0\3rdParty\Boost\lib;

C:\Program Files\PCL 1.6.0\3rdParty\FLANN\lib;

C:\Program Files\PCL 1.6.0\3rdParty\Qhull\lib;

C:\Program Files\PCL 1.6.0\3rdParty\VTK\lib\vtk-5.8;

C:\Program Files\OpenNI\Lib;

(3.3)链接器-->输入-->附加依赖项,添加:

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_49.lib

libboost_filesystem-vc100-mt-gd-1_49.lib

libboost_thread-vc100-mt-gd-1_49.lib

libboost_date_time-vc100-mt-gd-1_49.lib

libboost_iostreams-vc100-mt-gd-1_49.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

3、此时按理说是可以编译通过并运行了,为了使得输出结果不是一闪而过,可以添加一条include语句:#include<windows.h>,然后在main函数return(0)之前添加一个语句:system("pause");最终得到运行结果:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: