您的位置:首页 > 其它

PCL-1.7.2-AllInOne-msvc2012-win32安装以及配置VS2012的方法

2016-08-25 11:25 609 查看
PCL-1.7.2-AllInOne-msvc2012-win32安装及配置方法

一、安装PCL-1.7.2-AllInOne-msvc2012-win32.exe

双击下载好的PCL-1.7.2-AllInOne-msvc2012-win32.exe->点击”下一步“->“我接受”->是否将目录加入环境变量(选择for current user和for all user都可以,即配置环境变量是当前用户或所有用户的区别)->选择目标文件夹->选择安装组件->安装

二、解压PDB文件并放到PCL安装目录下的bin文件夹中(如C:\Program Files\PCL 1.7.2\bin)

三、配置环境变量

安装完成后需要配置环境变量。什么是环境变量?环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等。这点有点类似于DOS时期的默认路径,当你运行某些程序时除了在当前文件夹中寻找外,还会到设置的默认路径中去查找。简单地说这里的“Path”就是一个变量,里面存储了一些常用命令所存放的目录路径。那么应该怎样修改环境变量呢?

环境变量窗口。在环境变量窗口中一般有两个变量,一个是你当前所使用的用户独有的环境变量,另一个是所有用户都可以访问的系统变量。其实如果在你的电脑上你只使用一个用户的话,那么不管你修改的用户的环境变量还是系统变量,效果都是一样的。为了以防未来会新建其他用户,那么我建议你修改系统变量而不是某个用户独有的环境变量。

关于环境变量设置的小白可以参考如下百度经验中的详细介绍:http://jingyan.baidu.com/article/b24f6c82cba6dc86bfe5da9f.html

在path中加入以下内容:

C:\Program Files\PCL 1.7.2\bin

C:\Program Files\PCL 1.7.2\3rdParty\FLANN\bin

C:\Program Files\PCL 1.7.2\3rdParty\Qhull\bin

C:\Program Files\PCL 1.7.2\3rdParty\VTK\bin

(pcl的安装目录,这里我是“C:\Program Files“)

四、配置vs2012

打开VS2012 ,创建一个新的工程(空项目),点击左侧窗口下方的属性管理器,

1. 双击Microsoft.Cpp.win32.user(选择debug或release中的Microsoft.Cpp.win32.user的效果是一样的,都是往整个工程中添加目录),弹出属性页。

(1) 点击VC++目录(VC++ Directories),

a) 在包含目录(Include Directories)里添加:

C:\Program Files\PCL 1.7.2\include\pcl-1.7

C:\Program Files\PCL 1.7.2\3rdParty\VTK\include\vtk-5.10

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

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

C:\Program Files\PCL 1.7.2\3rdParty\Boost\include\boost-1_55;

C:\Program Files\PCL 1.7.2\3rdParty\Eigen\eigen3;

b) 在库目录里(Library Directories)添加:

C:\Program Files\PCL 1.7.2\lib

C:\Program Files\PCL 1.7.2\3rdParty\VTK\lib\vtk-5.10

C:\Program Files\PCL 1.7.2\3rdParty\Qhull\lib

C:\Program Files\PCL 1.7.2\3rdParty\FLANN\lib

C:\Program Files\PCL 1.7.2\3rdParty\Boost\lib



(2) 点击C/C++——>常规(General),点开附加包含目录(Additional Include Directories),添加

C:\Program Files\PCL 1.7.2\include\pcl-1.7

C:\Program Files\PCL 1.7.2\3rdParty\VTK\include\vtk-5.10

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

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

C:\Program Files\PCL 1.7.2\3rdParty\Boost\include\boost-1_55;

C:\Program Files\PCL 1.7.2\3rdParty\Eigen\eigen3;



(3) 点开链接器->常规,在附加库目录中添加

C:\Program Files\PCL 1.7.2\lib

C:\Program Files\PCL 1.7.2\3rdParty\VTK\lib\vtk-5.10

C:\Program Files\PCL 1.7.2\3rdParty\Qhull\lib

C:\Program Files\PCL 1.7.2\3rdParty\FLANN\lib

C:\Program Files\PCL 1.7.2\3rdParty\Boost\lib



确定后,关闭上述窗口。

双击Debug|win32,链接器->输入->附加依赖项里边添加:

pcl_common_debug.lib

pcl_features_debug.lib

pcl_filters_debug.lib

pcl_io_debug.lib

pcl_io_ply_debug.lib

pcl_kdtree_debug.lib

pcl_keypoints_debug.lib

pcl_ml_debug.lib

pcl_octree_debug.lib

pcl_outofcore_debug.lib

pcl_people_debug.lib

pcl_recognition_debug.lib

pcl_registration_debug.lib

pcl_sample_consensus_debug.lib

pcl_search_debug.lib

pcl_segmentation_debug.lib

pcl_stereo_debug.lib

pcl_surface_debug.lib

pcl_tracking_debug.lib

pcl_visualization_debug.lib

libboost_atomic-vc110-mt-gd-1_55.lib

libboost_chrono-vc110-mt-gd-1_55.lib

libboost_context-vc110-mt-gd-1_55.lib

libboost_coroutine-vc110-mt-gd-1_55.lib

libboost_date_time-vc110-mt-gd-1_55.lib

libboost_exception-vc110-mt-gd-1_55.lib

libboost_filesystem-vc110-mt-gd-1_55.lib

libboost_graph_parallel-vc110-mt-1_55.lib

libboost_graph-vc110-mt-gd-1_55.lib

libboost_iostreams-vc110-mt-gd-1_55.lib

libboost_locale-vc110-mt-gd-1_55.lib

libboost_log-vc110-mt-gd-1_55.lib

libboost_log_setup-vc110-mt-gd-1_55.lib

libboost_math_c99-vc110-mt-gd-1_55.lib

libboost_math_c99f-vc110-mt-gd-1_55.lib

libboost_math_c99l-vc110-mt-gd-1_55.lib

libboost_math_tr1-vc110-mt-gd-1_55.lib

libboost_math_tr1f-vc110-mt-gd-1_55.lib

libboost_math_tr1l-vc110-mt-gd-1_55.lib

libboost_mpi-vc110-mt-gd-1_55.lib

libboost_prg_exec_monitor-vc110-mt-gd-1_55.lib

libboost_program_options-vc110-mt-gd-1_55.lib

libboost_random-vc110-mt-gd-1_55.lib

libboost_regex-vc110-mt-gd-1_55.lib

libboost_serialization-vc110-mt-gd-1_55.lib

libboost_signals-vc110-mt-gd-1_55.lib

libboost_system-vc110-mt-gd-1_55.lib

libboost_test_exec_monitor-vc110-mt-gd-1_55.lib

libboost_thread-vc110-mt-gd-1_55.lib

libboost_timer-vc110-mt-gd-1_55.lib

libboost_unit_test_framework-vc110-mt-gd-1_55.lib

libboost_wave-vc110-mt-gd-1_55.lib

libboost_wserialization-vc110-mt-gd-1_55.lib

flann_cpp_s-gd.lib

flann_s-gd.lib

flann-gd.lib

qhull_d.lib

qhull_p_d.lib

qhullcpp_d.lib

qhullstatic_d.lib

qhullstatic_p_d.lib

LSDyna-gd.lib

MapReduceMPI-gd.lib

mpistubs-gd.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_hl-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_cxx-gd.lib

vtkNetCDF-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

这些库是在编译Debug版本时得到的链接库,每个链接库的名称中都带有_debug或者-gd等信息,非常容易识别。这些内容存储在相应库的lib文件夹下,如”C:\Program Files\PCL 1.7.2\lib\pcl_common_debug.lib”

注意这些lib文件有可能安装包不一样内容也不一样,需要读者自己去核对,如有些lib我这里有但你的安装包中没有,或者我用的boost是1.55版本,所以boost后面都是1_55结尾,而你用的是1.49,这里不是拷贝过去就可以用的,需要根据各自实际lib文件夹中的文件名进行增删改。

RELEASE:

pcl_common_release.lib

pcl_features_release.lib

pcl_filters_release.lib

pcl_io_ply_release.lib

pcl_io_release.lib

pcl_kdtree_release.lib

pcl_keypoints_release.lib

pcl_ml_release.lib

pcl_octree_release.lib

pcl_outofcore_release.lib

pcl_people_release.lib

pcl_recognition_release.lib

pcl_registration_release.lib

pcl_sample_consensus_release.lib

pcl_search_release.lib

pcl_segmentation_release.lib

pcl_stereo_release.lib

pcl_surface_release.lib

pcl_tracking_release.lib

pcl_visualization_release.lib

libboost_atomic-vc110-mt-1_55.lib

libboost_chrono-vc110-mt-1_55.lib

libboost_context-vc110-mt-1_55.lib

libboost_coroutine-vc110-mt-1_55.lib

libboost_date_time-vc110-mt-1_55.lib

libboost_exception-vc110-mt-1_55.lib

libboost_filesystem-vc110-mt-1_55.lib

libboost_graph_parallel-vc110-mt-1_55.lib

libboost_graph-vc110-mt-1_55.lib

libboost_iostreams-vc110-mt-1_55.lib

libboost_locale-vc110-mt-1_55.lib

libboost_log-vc110-mt-1_55.lib

libboost_log_setup-vc110-mt-1_55.lib

libboost_math_c99-vc110-mt-1_55.lib

libboost_math_c99f-vc110-mt-1_55.lib

libboost_math_c99l-vc110-mt-1_55.lib

libboost_math_tr1-vc110-mt-1_55.lib

libboost_math_tr1f-vc110-mt-1_55.lib

libboost_math_tr1l-vc110-mt-1_55.lib

libboost_mpi-vc110-mt-1_55.lib

libboost_prg_exec_monitor-vc110-mt-1_55.lib

libboost_program_options-vc110-mt-1_55.lib

libboost_random-vc110-mt-1_55.lib

libboost_regex-vc110-mt-1_55.lib

libboost_serialization-vc110-mt-1_55.lib

libboost_signals-vc110-mt-1_55.lib

libboost_system-vc110-mt-1_55.lib

libboost_test_exec_monitor-vc110-mt-1_55.lib

libboost_thread-vc110-mt-1_55.lib

libboost_timer-vc110-mt-1_55.lib

libboost_unit_test_framework-vc110-mt-1_55.lib

libboost_wave-vc110-mt-1_55.lib

libboost_wserialization-vc110-mt-1_55.lib

flann_cpp_s.lib

flann_s.lib

flann.lib

qhull.lib

qhull_p.lib

qhullcpp.lib

qhullstatic.lib

qhullstatic_p.lib

LSDyna.lib

MapReduceMPI.lib

mpistubs.lib

vtkalglib.lib

vtkCharts.lib

vtkCommon.lib

vtkDICOMParser.lib

vtkexoIIc.lib

vtkexpat.lib

vtkFiltering.lib

vtkfreetype.lib

vtkftgl.lib

vtkGenericFiltering.lib

vtkGeovis.lib

vtkGraphics.lib

vtkhdf5_hl.lib

vtkhdf5.lib

vtkHybrid.lib

vtkImaging.lib

vtkInfovis.lib

vtkIO.lib

vtkjpeg.lib

vtklibxml2.lib

vtkmetaio.lib

vtkNetCDF_cxx.lib

vtkNetCDF.lib

vtkpng.lib

vtkproj4.lib

vtkRendering.lib

vtksqlite.lib

vtksys.lib

vtktiff.lib

vtkverdict.lib

vtkViews.lib

vtkVolumeRendering.lib

vtkWidgets.lib

vtkzlib.lib

这些库是在编译Release版本时得到的链接库,每个链接库的名称中都带有_release或者_s等信息,以区别于Debug版本。这些内容存储在相应库的lib文件夹下,如” C:\Program Files\PCL 1.7.2\lib\pcl_common_release.lib”。

同debug中的说明,注意这些lib文件有可能安装包不一样内容也不一样,需要读者自己去核对,如有些lib我这里有但你的安装包中没有,或者我用的boost是1.55版本,所以boost后面都是1_55结尾,而你用的是1.49,这里不是拷贝过去就可以用的,需要根据各自实际lib文件夹中的文件名进行增删改。

可以从官网上随便找个例子,运行看是否安装成功。

网上有帖子说可以用CMake来生成解决方案并运行,就不用再VS下添加各种目录和库了,不晓得这个方法是否可行?有兴趣的朋友可以试一下用CMake的方法。

PS:在我每次通过VS2012 运行C++程序的时候,DOS窗口在显示结果的时候都是一闪而过。这样让人没法观察输出的结果。经试验找到了一较好的解决办法:在程序的结尾处加system(“pause”);这样就顺利的解决了上的问题。

本文是在参考以下博客并根据自己在安装过程中的心得和碰到的问题写的,感谢以下博主的贡献。

http://blog.sina.com.cn/s/blog_b3a4f3f80101k38a.html

http://blog.csdn.net/jiaojialulu/article/details/51404368

http://download.csdn.net/detail/fangfei3699/8199061
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vs2012 PCL Win7 32位