VS 2013+Pcl 1.7.2 安装配置及常见问题
来源:互联网 发布:网络聊天工具 编辑:程序博客网 时间:2024/05/23 19:27
安装系统win10,64位,vs2013,pcl 1.7.2(64位)为例。
1.电脑/属性/环境变量+path(openNI根据需要进行添加)
新建PCL_ROOT:
2.vs2013配置
2.1 右键项目属性,点VC++目录,添加如下:
D:\pcl\PCL1.7.2\include\pcl-1.7D:\pcl\PCL1.7.2\3rdParty\Boost\include\boost-1_57D:\pcl\PCL1.7.2\3rdParty\Eigen\eigen3D:\pcl\PCL1.7.2\3rdParty\FLANN\includeD:\pcl\PCL1.7.2\3rdParty\QHull\includeD:\pcl\PCL1.7.2\3rdParty\VTK\include\vtk-6.2
2.2 C/C++ 附加库目录,添加如下:
F:\PCL\PCL1.7.2\libF:\PCL\PCL1.7.2\3rdParty\Boost\libF:\PCL\PCL1.7.2\3rdParty\FLANN\libF:\PCL\PCL1.7.2\3rdParty\QHull\libF:\PCL\PCL1.7.2\3rdParty\VTK\lib
不同PCL 版本, lib include 目录可能不太一样,因此需要确认, .h .lib 的文件准确的位置;附加依赖项不能直接复制,需要确认自己lib(pcl1.7.2 我的vtk版本6.2)
2.3 点链接器,再点输入,找到附加依赖项,添加如下:
debug:
pcl_common_debug.libpcl_features_debug.libpcl_filters_debug.libpcl_io_debug.libpcl_io_ply_debug.libpcl_kdtree_debug.libpcl_keypoints_debug.libpcl_octree_debug.libpcl_outofcore_debug.libpcl_people_debug.libpcl_recognition_debug.libpcl_registration_debug.libpcl_sample_consensus_debug.libpcl_search_debug.libpcl_segmentation_debug.libpcl_surface_debug.libpcl_tracking_debug.libpcl_visualization_debug.liblibboost_atomic-vc120-mt-gd-1_57.liblibboost_chrono-vc120-mt-gd-1_57.liblibboost_container-vc120-mt-gd-1_57.liblibboost_context-vc120-mt-gd-1_57.liblibboost_coroutine-vc120-mt-gd-1_57.liblibboost_date_time-vc120-mt-gd-1_57.liblibboost_exception-vc120-mt-gd-1_57.liblibboost_filesystem-vc120-mt-gd-1_57.liblibboost_graph-vc120-mt-gd-1_57.liblibboost_iostreams-vc120-mt-gd-1_57.liblibboost_locale-vc120-mt-gd-1_57.liblibboost_log-vc120-mt-gd-1_57.liblibboost_log_setup-vc120-mt-gd-1_57.liblibboost_math_c99-vc120-mt-gd-1_57.liblibboost_math_c99f-vc120-mt-gd-1_57.liblibboost_math_c99l-vc120-mt-gd-1_57.liblibboost_math_tr1-vc120-mt-gd-1_57.liblibboost_math_tr1f-vc120-mt-gd-1_57.liblibboost_math_tr1l-vc120-mt-gd-1_57.liblibboost_mpi-vc120-mt-gd-1_57.liblibboost_prg_exec_monitor-vc120-mt-gd-1_57.liblibboost_program_options-vc120-mt-gd-1_57.liblibboost_random-vc120-mt-gd-1_57.liblibboost_regex-vc120-mt-gd-1_57.liblibboost_serialization-vc120-mt-gd-1_57.liblibboost_signals-vc120-mt-gd-1_57.liblibboost_system-vc120-mt-gd-1_57.liblibboost_test_exec_monitor-vc120-mt-gd-1_57.liblibboost_thread-vc120-mt-gd-1_57.liblibboost_timer-vc120-mt-gd-1_57.liblibboost_unit_test_framework-vc120-mt-gd-1_57.liblibboost_wave-vc120-mt-gd-1_57.liblibboost_wserialization-vc120-mt-gd-1_57.libflann_cpp_s-gd.libqhullstatic_d.libvtkalglib-6.2-gd.libvtkChartsCore-6.2-gd.libvtkCommonCore-6.2-gd.libvtkCommonColor-6.2-gd.libvtkCommonComputationalGeometry-6.2-gd.libvtkCommonDataModel-6.2-gd.libvtkCommonExecutionModel-6.2-gd.libvtkCommonMath-6.2-gd.libvtkCommonMisc-6.2-gd.libvtkCommonSystem-6.2-gd.libvtkCommonTransforms-6.2-gd.libvtkDICOMParser-6.2-gd.libvtkDomainsChemistry-6.2-gd.libvtkexoIIc-6.2-gd.libvtkexpat-6.2-gd.libvtkFiltersAMR-6.2-gd.libvtkFiltersCore-6.2-gd.libvtkFiltersExtraction-6.2-gd.libvtkFiltersFlowPaths-6.2-gd.libvtkFiltersGeneral-6.2-gd.libvtkFiltersGeneric-6.2-gd.libvtkFiltersGeometry-6.2-gd.libvtkFiltersHybrid-6.2-gd.libvtkFiltersHyperTree-6.2-gd.libvtkFiltersImaging-6.2-gd.libvtkFiltersModeling-6.2-gd.libvtkFiltersParallel-6.2-gd.libvtkFiltersParallelImaging-6.2-gd.libvtkFiltersProgrammable-6.2-gd.libvtkFiltersSelection-6.2-gd.libvtkFiltersSMP-6.2-gd.libvtkFiltersSources-6.2-gd.libvtkFiltersStatistics-6.2-gd.libvtkFiltersTexture-6.2-gd.libvtkFiltersVerdict-6.2-gd.libvtkfreetype-6.2-gd.libvtkftgl-6.2-gd.libvtkGeovisCore-6.2-gd.libvtkgl2ps-6.2-gd.libvtkhdf5-6.2-gd.libvtkhdf5_hl-6.2-gd.libvtkImagingColor-6.2-gd.libvtkImagingCore-6.2-gd.libvtkImagingFourier-6.2-gd.libvtkImagingGeneral-6.2-gd.libvtkImagingHybrid-6.2-gd.libvtkImagingMath-6.2-gd.libvtkImagingMorphological-6.2-gd.libvtkImagingSources-6.2-gd.libvtkImagingStatistics-6.2-gd.libvtkImagingStencil-6.2-gd.libvtkInfovisCore-6.2-gd.libvtkInfovisLayout-6.2-gd.libvtkInteractionImage-6.2-gd.libvtkInteractionStyle-6.2-gd.libvtkInteractionWidgets-6.2-gd.libvtkIOAMR-6.2-gd.libvtkIOCore-6.2-gd.libvtkIOEnSight-6.2-gd.libvtkIOExodus-6.2-gd.libvtkIOExport-6.2-gd.libvtkIOGeometry-6.2-gd.libvtkIOImage-6.2-gd.libvtkIOImport-6.2-gd.libvtkIOInfovis-6.2-gd.libvtkIOLegacy-6.2-gd.libvtkIOLSDyna-6.2-gd.libvtkIOMINC-6.2-gd.libvtkIOMovie-6.2-gd.libvtkIONetCDF-6.2-gd.libvtkIOParallel-6.2-gd.libvtkIOParallelXML-6.2-gd.libvtkIOPLY-6.2-gd.libvtkIOSQL-6.2-gd.libvtkIOVideo-6.2-gd.libvtkIOXML-6.2-gd.libvtkIOXMLParser-6.2-gd.libvtkjpeg-6.2-gd.libvtkjsoncpp-6.2-gd.libvtklibxml2-6.2-gd.libvtkmetaio-6.2-gd.libvtkNetCDF-6.2-gd.libvtkNetCDF_cxx-6.2-gd.libvtkoggtheora-6.2-gd.libvtkParallelCore-6.2-gd.libvtkpng-6.2-gd.libvtkproj4-6.2-gd.libvtkRenderingAnnotation-6.2-gd.libvtkRenderingContext2D-6.2-gd.libvtkRenderingContextOpenGL-6.2-gd.libvtkRenderingCore-6.2-gd.libvtkRenderingFreeType-6.2-gd.libvtkRenderingFreeTypeOpenGL-6.2-gd.libvtkRenderingGL2PS-6.2-gd.libvtkRenderingImage-6.2-gd.libvtkRenderingLabel-6.2-gd.libvtkRenderingLIC-6.2-gd.libvtkRenderingLOD-6.2-gd.libvtkRenderingOpenGL-6.2-gd.libvtkRenderingVolume-6.2-gd.libvtkRenderingVolumeOpenGL-6.2-gd.libvtksqlite-6.2-gd.libvtksys-6.2-gd.libvtktiff-6.2-gd.libvtkverdict-6.2-gd.libvtkViewsContext2D-6.2-gd.libvtkViewsCore-6.2-gd.libvtkViewsInfovis-6.2-gd.libvtkzlib-6.2-gd.libkernel32.libuser32.libgdi32.libwinspool.libcomdlg32.libadvapi32.libshell32.libole32.liboleaut32.libuuid.libodbc32.libodbccp32.lib
vs版本是2013的可以直接复制到附加依赖项里。注意vs2012,vs2015版的依赖库不一样,不能直接复制上面的,
把上面的的复制到记事本里,然后,查看pcl安装路径下boost库的lib文件夹,里面的lib名字里会带有vc***,
这个是编译器版本号,例如vs2013版的pcl是上面的vc***是vc120,然后利用记事本的替换功能,把vc120,替换
为上面你找到的编译器版本号vc***,再拷贝到附加依赖项里。
把上面的的复制到记事本里,然后,查看pcl安装路径下boost库的lib文件夹,里面的lib名字里会带有vc***,
这个是编译器版本号,例如vs2013版的pcl是上面的vc***是vc120,然后利用记事本的替换功能,把vc120,替换
为上面你找到的编译器版本号vc***,再拷贝到附加依赖项里。
2.4 c/c++预处理器
_CRT_SECURE_NO_WARNINGS
_SCL_SECURE_NO_WARNINGS
3.常见错误
3.1 编译器内部发生错误
A.代码使用的版本和编译器不相符。我是直接用的别人写的程序,程序里面的语法和PCL版本不一致,改了版本之后这个错误没有了。
B.还有就是 debug win32 X64要选择正确。
C.我最后发现 文件名 右键 配置属性是我之前的的版本;而属性管理器加载的是我现在的版本,我加入了下面提示需要的lib,解决了。
3.1.2 头文件错误
boost :附加库目录里面boost路径没有添加正确
3.1.3 缺少xxxx.dll
在安装目录下搜索,如果该文件存在,则可能是因为路径配置错误,也可能是电脑环境path放置太靠下,往上移动
3.2 error LNK1104: 无法打开文件“libboost_atomic-vc120-mt-gd-1_61.lib”
我安装的是1.7.2 ;却找不到1.8.0里面的lib,是因为我之前配置的1.8.0。需要检查上面的库以及环境是否重新配置正确。
3.3
1.提示未找到pcl的头文件等,该问题是附加包含目录里库路径设置不正确导致的,修改或添加相关路径。
2.配置64位pcl出现无法解析的外部符号错误,该错误是解决方案平台未修改导致的,把win32换成x64。
3.有个别人添加了上述路径后发生,还是提示dll找不到的情况,有可能是你在path里少添加相关dll的路径了。还有一个原因是path有长度限制,超出长度的部分就不认了,
这时,可以把上面所有bin文件夹下的dll拷贝到C:WindowsSystem32文件夹里。
3.4 模块计算机类新x86与目标计算机类x64冲突
opencv 之前是32位编译的,而PCL是64位编译的,需要在 附加目录里面改变成 64位的lib;
然后删除之前 的 .sln文件,重新编译生成即可
3.5 配置一样但老是显示缺少 .h 各种
点开.h 文件看看,里面有的头文件路径写的<flann/flann.h>此时包含目录 D:\pcl\PCL1.7.2\3rdParty\FLANN\include
如果写的 <flann.h>此时包含目录D:\pcl\PCL1.7.2\3rdParty\FLANN\include\flann
4. 测试(txt转换成pcd,三维显示)
#include <pcl/io/pcd_io.h>#include <pcl/features/integral_image_normal.h>#include <boost/thread/thread.hpp>#include <pcl/visualization/pcl_visualizer.h>#include <fstream>#include <pcl/visualization/cloud_viewer.h> intmain(int argc, char** argv){// 点云数据对象pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);// 法线对象pcl::PointCloud<pcl::Normal>::Ptr normals(new pcl::PointCloud<pcl::Normal>);argv[1] = "test_pcd.pcd";ifstream file("result2.txt");float x, y, z;int i = 0;cloud->height = 1;cloud->width = 30000;//点的个数cloud->resize((cloud->width) *(cloud->height)); while (file){file >> x >> y >> z;cloud->points[i].x = x;cloud->points[i].y = y;cloud->points[i].z = z;i++;}pcl::visualization::CloudViewer viewer("pcd viewer");viewer.showCloud(cloud);system("pause");std::string filename("test.pcd");pcl::PCDWriter writer;writer.write(filename, *cloud);}
5. 下载配置文件(和我的电脑系统一致,安装路径也一样,系统环境配置好)
http://download.csdn.net/detail/nameix/9910600
0 0
- VS 2013+Pcl 1.7.2 安装配置及常见问题
- vs +pcl 配置问题
- weblogic安装配置及常见问题
- weblogic安装配置及常见问题
- lamp配置安装及常见问题
- weblogic安装配置及常见问题
- PCL使用常见问题 及安装pcl1.8.0 vs2013 及linux下
- Ubuntu14.04kylin下PCL安装及环境配置
- PCL:Ubuntu下安装配置PCL
- 【PCL学习】之一 配置vs可编译的PCL环境
- vs 2010 MFC 中配置 PCL
- PCL all-in-one VS配置
- 初识:pcl安装和配置
- phpmyadmin安装配置常见问题及解决办法
- Eclipse初始安装配置及常见问题总结
- SVN安装配置及遇到的常见问题
- Hadoop全分布安装配置及常见问题
- ServKit前身phpnow,安装配置,及常见问题
- 4.运行freeswitch
- #199. 守护糖果
- 深度学习解决多视图非线性数据特征融合问题
- CF
- qt 多核编译+源码调试
- VS 2013+Pcl 1.7.2 安装配置及常见问题
- leetcode-第二周
- boost 多线程条件变量
- 我的笔记
- 华科历年考研上机题整理
- 移动web开发常用的框架(四)
- 13-15 标准IO之fread、fwrite
- 机器学习算法-朴素贝叶斯分类
- 5.freeswitch架构