赞
踩
本人安装过程中主要问题出现在:链接库>附加依赖项与预处理器
应查看自己的安装目录,不能盲目完全照搬网上教程,include后需再写一级
由于pcl中.lib 较多,且网上教程复制黏贴的.lib极有可能不同,所以给出快速提取.lib的方法:
引用自:http://www.cnblogs.com/blog-vincent-0x1F7/p/9646358.html
各个库目录中的所有.lib文件就是我们的附加依赖项,但是这里要把他们区分为debug模式下的依赖项和release模式下的依赖项,而且.lib文件数量繁多,自己复制这些文件名还要分成debug、release两拨确实太多了。我们可以用批处理命令来帮我们执行。
观察各个库目录可知调试模式和发行模式的分别,在%PCL_ROOT%\lib下的.lib文件加了debug和release来区分,%PCL_ROOT%\3rdParty\Boost\lib下的以有gd的为debug模式否则为release模式,其他各个库目录也都有类似规律,所以可以在各个库目录下写批处理文件导出.lib依赖项:
- @echo off
- for %%I in (*.lib) do echo %%I>>all.txt //解释:对每一个(*.lib)通配符匹配到的文件名I,显示I到文件all.txt,之后的语句类似理解就可
- for %%I in (*debug.lib) do echo %%I>>adebug.txt
- for %%I in (*release.lib) do echo %%I>>arelease.txt
- pause
则会生成adebug.txt保存debug模式下的依赖项、arelease.txt保存release模式下的依赖项、all.txt保存所有依赖项,如下:
- @echo off
- for %%I in (*.lib) do echo %%I>>all.txt
- for %%I in (*mt-gd-1_64.lib) do echo %%I>>adebug.txt
- for %%I in (*mt-1_64.lib) do echo %%I>>arelease.txt
- pause
在%PCL_ROOT%\3rdParty\OpenNI2\Lib下只有一个不必用批处理,自己抄一下名称就好;在%PCL_ROOT%\3rdParty\FLANN\lib和%PCL_ROOT%\3rdParty\Qhull\lib下因为不太多故将所有.lib导出到一个all.txt文件然后自己根据有没有_d区分debug和release版本:
- @echo off
- for %%I in (*.lib) do echo %%I>>all.txt
- pause
- @echo off
- for %%I in (*.lib) do echo %%I>>all.txt
- for %%I in (*8.0.lib) do echo %%I>>arelease.txt
- for %%I in (*c++.lib) do echo %%I>>arelease.txt
- for %%I in (*-gd.lib) do echo %%I>>adebug.txt
- pause
最后把所有debug模式下依赖项汇总,把所有release模式下的依赖项汇总即得到设置中所需要的依赖项。另外如果想更简单一点可以把以上的输出文件名改为同一个,这样可以所有debug的输出到一个debug.txt,所有release的输出到一个release.txt,不过要注意的是文件名要使用绝对路径。
运行一个测试程序很有可能会抛出error c4996错误,
只需在项目-属性-C/C++-预处理器-预处理器定义中添加_SCL_SECURE_NO_WARNINGS就可以。
点云下载链接:https://pan.baidu.com/s/15LZVm2Kb-tKb1CVofoLSZA 提取码:s03u
- #include<pcl/visualization/cloud_viewer.h>
- #include<iostream>//标准C++库中的输入输出类相关头文件。
- #include<pcl/io/io.h>
- #include<pcl/io/pcd_io.h>//pcd 读写类相关的头文件。
- #include<pcl/io/ply_io.h>
- #include<pcl/point_types.h> //PCL中支持的点类型头文件。
- int user_data;
- using namespace std;
- int viewerOneOff(pcl::visualization::PCLVisualizer& viewer)
- {
- viewer.setBackgroundColor(1.0, 0.5, 1.0); //设置背景颜色
- return 0;
- }
-
- int main()
- {
- pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
- char strfilepath[256] = "rabbit.pcd";
- pcl::io::loadPCDFile(strfilepath, *cloud);
- pcl::visualization::CloudViewer viewer("Cloud Viewer"); //创建viewer对象
- viewer.showCloud(cloud);
- viewer.runOnVisualizationThreadOnce(viewerOneOff);
- system("pause");
- return 0;
- }
//======================高兴========================//
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。