作者:林琳奇 | 来源:互联网 | 2023-05-18 19:35
话说PCL一次性环境配置失败,http:blog.csdn.netbcbobo21cnarticledetails51933508下面决定手工搞一把;参阅此文
话说PCL一次性环境配置失败,
http://blog.csdn.net/bcbobo21cn/article/details/51933508
下面决定手工搞一把;
参阅此文;
http://www.cnblogs.com/newpanderking/articles/4022322.html
首先建立一个空工程;启动VC2012后,出现下面问题,不能生成工程;
未能正确加载 Visual C++ Language Manager Package包;
![](https://www.#.com/imgs/3/8/8/0/78/b564e030f809ff2f7ac25ecbeb8dd688.jpe)
![](https://www.#.com/imgs/5/7/7/8/97/3c02a65b46f08870c0846a59fc92e465.jpe)
![](https://www.#.com/imgs/7/5/8/8/96/76d61999d2cf2c5b5ad0067e8c8b57bc.jpe)
对此问题,在下面
https://www.microsoft.com/zh-CN/download/confirmation.aspx?id=36020
下载更新,安装;
![](https://www.#.com/imgs/4/6/3/8/24/61ed983daeab80370bc8c2b21147f5c5.jpe)
安装之后VS恢复正常;下面继续PCL;
参阅
http://www.cnblogs.com/newpanderking/articles/4022322.html
对工程添加包含目录,库目录,附加依赖项;我的安装目录和版本与其不同;我所用到的目录和附加依赖项如下;
C:\Program Files (x86)\PCL 1.5.1\3rdParty\Boost\include
C:\Program Files (x86)\PCL 1.5.1\3rdParty\Eigen\include
C:\Program Files (x86)\PCL 1.5.1\3rdParty\Flann\include
C:\Program Files (x86)\PCL 1.5.1\3rdParty\Qhull\include
C:\Program Files (x86)\PCL 1.5.1\3rdParty\VTK\include\vtk-5.8
C:\Program Files (x86)\OpenNI\Include
C:\Program Files (x86)\PCL 1.5.1\include\pcl-1.5
C:\Program Files (x86)\PCL 1.5.1\3rdParty\Boost\lib
C:\Program Files (x86)\PCL 1.5.1\3rdParty\Qhull\lib
C:\Program Files (x86)\PCL 1.5.1\3rdParty\Flann\lib
C:\Program Files (x86)\PCL 1.5.1\3rdParty\VTK\lib\vtk-5.8
C:\Program Files (x86)\PCL 1.5.1\lib
C:\Program Files (x86)\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-vc90-mt-gd-1_48.lib
libboost_filesystem-vc90-mt-gd-1_48.lib
libboost_thread-vc90-mt-gd-1_48.lib
libboost_date_time-vc90-mt-gd-1_48.lib
libboost_iostreams-vc90-mt-gd-1_48.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
跑一个读点云文件的例子;
#include
#include
#include
int
main(int argc,char** argv)
{
pcl::PointCloud::Ptr cloud (new pcl::PointCloud);
if(pcl::io::loadPCDFile("test_pcd.pcd",*cloud)==-1)//*打开点云文件
{
PCL_ERROR("Couldn't read file test_pcd.pcd\n");
return(-1);
}
std::cout<<"Loaded "
<width*cloud->height
<<" data points from test_pcd.pcd with the following fields: "
<points.size();++i)
std::cout<<" "<points[i].x
<<" "<points[i].y
<<" "<points[i].z<
构建,出现下面错误;
错误 2 error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(pcldemo3.obj 中) F:\pcltest\pcldemo3\pcldemo3\IlmImfd.lib(ImfTiledRgbaFile.obj) pcldemo3
![](https://www.#.com/imgs/1/2/7/7/55/d7efd4b440031d4c4a56fd9af2d7ea45.jpe)
按下图修改工程属性,运行库改为MTd,即可;
![](https://www.#.com/imgs/0/3/8/2/66/ea2fe53e4987557016115a14c09e910e.jpe)
构建,成功,但是运行时又出现一点问题;可能是DLL或PDB没弄好;下次再搞;
![](https://www.#.com/imgs/4/3/5/0/40/f9e4aab0b9a396cbcccc06369746194a.jpe)
并且,在编译可视化点云的例子时,又出现一点问题;下次再搞;
#include
#include
#include
#include
int user_data;
void
viewerOneOff (pcl::visualization::PCLVisualizer& viewer)
{
viewer.setBackgroundColor (1.0, 0.5, 1.0);
pcl::PointXYZ o;
o.x = 1.0;
o.y = 0;
o.z = 0;
viewer.addSphere (o, 0.25, "sphere", 0);
std::cout <<"i only run once" <::Ptr cloud (new pcl::PointCloud);
pcl::io::loadPCDFile ("my_point_cloud.pcd", *cloud);
pcl::visualization::CloudViewer viewer("Cloud Viewer");
//showCloud函数是同步的,在此处等待直到渲染显示为止
viewer.showCloud(cloud);
//该注册函数在可视化时只调用一次
viewer.runOnVisualizationThreadOnce (viewerOneOff);
//该注册函数在渲染输出时每次都调用
viewer.runOnVisualizationThread (viewerPsycho);
while (!viewer.wasStopped ())
{
//在此处可以添加其他处理
user_data++;
}
return 0;
}
错误 1 error LNK1104: 无法打开文件“libboost_date_time-vc100-mt-sgd-1_48.lib” F:\pcltest\pcldemo3\pcldemo3\LINK pcldemo3
点云文件名,
my_point_cloud.pcd
test_pcd.pcd