以防博主删除文档,重新copy一遍...

关于个人的几个注意事项:

对于boost,可以使用vc100的库,来编译VC110的代码;

对于确实的包含,一个一个添加,要耐心等待!!!

原文链接:http://blog.csdn.net/silangquan/article/details/953308

PCL简介

PCL是Point Cloud Library的缩写,是一个用于处理二维图像,三维深度图像和三维点云的C++库。该库是完全开源的,可免费用于商业和学术研究。

官方网站:http://pointclouds.org/

PCL的用途:

下面对最新版的PCL库进行 编译。

环境:windows7 32bit

VS2010

cmake2.8

TortoiseSVN 1.8

1.安装第三方依赖库

官网上已经给出了一些安装包。下载地址:http://pointclouds.org/downloads/windows.html

记住下好对应系统的安装包。

Eigen无法正常下载,需要去官网下载:http://eigen.tuxfamily.org/index.php?title=Main_Page

我下载的实3.1.3的版本,下载zip包,直接解压到C:\Program Files\,把文件夹名字改成eigen。

其他的三方库直接双击安装就可以了。

2.用cmake构建项目

创建

C:\Program Files\PCL

C:\Program Files\PCL\trunk

然后用TortoiseSVN把pcl的源码down下来,svn地址是: http://svn.pointclouds.org/pcl/trunk

打开cmake,开始构建。

将trunk文件夹下的CMakeLists.txt托到cmake里,先Configure,选择Visual Studio 10,然后Generate。

正常的话应该是这样:

有问题的话根据报错信息进行修改,大部分是第三方依赖库没有装好。

双击PCL.sln导入工程到VS2010,编译,发现全是error - -

boost库很多东西都没找到.

在网上搜了很久,发现问题是CMakeLists没写好.1.50版本的Boost库没办法识别.

最快的解决方法:卸载BOOST1.50,去http://ftp.jaist.ac.jp/pub//sourceforge/p/po/pointclouds/dependencies/ 下载Boost-1.49.0-vs2010-x86.exe安装后重复上面的步骤,生成的项目就正确了。

Build一下ALL_BUILD, 然后去打个盹,回来发现报错:

Error 18326 error C2664: 'std::_Tree_const_iterator<_Mytree>::_Tree_const_iterator(const std::_Tree_const_iterator<_Mytree> &)' : cannot convert parameter 1 from 'std::_Tree_const_iterator<_Mytree>' to 'const std::_Tree_const_iterator<_Mytree>
&' D:\VS2010\VC\include\utility 163

坑爹 的~

继续搜索解决方法....

修改一个位置: trunk/recognition/src/ransac_based/obj_rec_ransac.cpp

540: pair<set<ordered_int_pair>::iterator, bool> res = ordered_hypotheses_ids.insert (id_pair);

->540: pair<set<ordered_int_pair, bool(*)(const ordered_int_pair&, const ordered_int_pair&)>::iterator, bool> res = ordered_hypotheses_ids.insert (id_pair);

再次重新cmake->导入工程->build ALL_Build

注意debug和realse版本都要编译一遍,而且要全部编译通过.

然后再把INSALL编译一下,debug和realse版本都要编译一遍.

完全编译完成之后,C:\Program Files\PCL\lib中就有生成了编译好的lib库了 .

当然还可以自己去编译 一下它给的一些test,不过需要自己编译GTest库.

这样,PCL就 算编译好了.

如何在Windows环境中搭建PCL—Point
Cloud Library开发环境

原文链接:http://shitou7630.blog.163.com/blog/static/3269953620126176843621/

如何快速构建PCL应用程序

使用CMake

  1. 编写PCL代码 包含PCL的头文件,使用PCL的函数和数据结构构建简易的界面实现可示化。
  2. 运行CMake_GUI

直接使用Configure与Generate工具,你可以在界面上找到相应的按钮。

  1. 行Visual Studio 调试程序

在使用CMake编译完成之后就生成了一个 Visual
Studio 2010解决方案当中有三个项目,其中两个是辅助工程。

  1. 注意事项

使用Visual Studio

  1. 路径构建
  2. 库文件查找
  3. 调试运行
  4. 改正错误

库文件与动态库的配置

  1. 活页夹
  2. Windows寻址方式

代码剖析

PCL_Write

头文件包含:iostream,pcd_io.h,point_type.h
数据类型: pcl父类,PointCloud模板类,PointXYZRGB点数据类。。。。细节处理:

  1. 初始化点云结构

pcl::PointCloud cloud;
按照对应的数据要求填充cloud数据,像width,height,is_dense(是否稠密),通过resize函数应用相应的参数对数据进行更新。

cloud是一个PointCloud数据模板,可以通过更新其x,y,z,rgb属性来更新殿云数据

  1. 数据文件输出

最后用户通过pcl的io接口中的savePCDFileASCII将数据以ASCII码的形式存储在pcd文件中

cloud_Viewer

这是一个查看有PCL_writer保存的pcd数据的Console程序从头文件中我们就可以看到许多都包含了可视化的元素,如visualization/cloud_viwer.h,pcl/io/io.h,pcl/io/pcd_io.h

pcl::visualization::PCLVisualizer
pcl::PointCloud::Ptr
pcl::io::loadPCDFile(string name, PointXYZRGB *cloud)
pcl::visualization::CloudViewer
showCloud(PointXYZRGB *cloud)方法
runOnVisualizationThread( void function() )

VS2012编译PCL1.70的过程的更多相关文章

  1. VS2012编译VS2010版本的过程报错解决

    C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32C:\Program Files\MSBuild\Microsoft C:\Pro ...

  2. vs2012编译Qwt

    主题:vs2012编译Qwt ------------------------------------------------------------------------- 参照网络地址: htt ...

  3. Java程序编译和运行的过程

    Java整个编译以及运行的过程相当繁琐,本文通过一个简单的程序来简单的说明整个流程. 如下图,Java程序从源文件创建到程序运行要经过两大步骤:1.源文件由编译器编译成字节码(ByteCode)  2 ...

  4. Java程序编译和运行的过程【转】

    转自:http://www.360doc.com/content/14/0218/23/9440338_353675002.shtml Java整个编译以及运行的过程相当繁琐,本文通过一个简单的程序来 ...

  5. VS2012 编译 Assimp

    VS2012 编译 Assimp 环境: assimp-3.1.1Windows 7 64BitVisual Studio 2012CMake 2.8.12.1 注意: 在Windows中编译assi ...

  6. 【转】VS2012编译出来的程序,在XP上运行,出现“.exe 不是有效的 win32 应用程序” “not a valid win32 application”

    原文网址:http://www.cnblogs.com/Dageking/archive/2013/05/15/3079394.html VS2012编译出来的程序,在XP上运行,出现“.exe 不是 ...

  7. VS2012编译Snmp++ v3.2.25

    VS2012编译Snmp++ v3.2.25跟用VC6/VC2010等编译方法区别不大. 网上和教程上盛传的方式是把snmp++的cpp源文件和头文件都加到工程里,再编译.我觉得添加所有头文件到工程里 ...

  8. vs2012编译在win7 32位电脑和win xp电脑上运行的win32程序遇到的问题记录

    一.win7 32位电脑: vs2012编译的64位程序是没有问题的.但编译的32位程序在别的电脑(虚拟机模拟)出错: 感觉很无语,vs这么牛逼的东西,在设计时候都不考虑这些吗? 在自己电脑C:\Wi ...

  9. vs2012编译ffmpeg

    从官方网站down下来的ffmpeg没有pdb文件不方便调试,为此使用VS2012编译ffmpeg. 编译步骤: 一.安装MinGW,具体的安装方法上一篇文章已经有介绍这里不在赘述. 二.下载文件并放 ...

随机推荐

  1. NOIP2009 T2 Hankson的趣味题

    传送门 题目描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson.现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题. 今天在课堂上, ...

  2. [tyvj1957 Poetize5] Vani和Cl2捉迷藏 (最小路径可重点覆盖+二分图最大匹配)

    传送门 Description 这片树林里有N座房子,M条有向道路,组成了一张有向无环图. 树林里的树非常茂密,足以遮挡视线,但是沿着道路望去,却是视野开阔.如果从房子A沿着路走下去能够到达B,那么在 ...

  3. JS控制全屏,监听退出全屏事件

    实现方案 //进入全屏 function requestFullScreen(de) { if(de.requestFullscreen){ //W3C de.requestFullscreen(); ...

  4. Spring Web Flow实例教程

    目录: 参考文献 购物车用例 什么情况下可以使用 Spring Web Flow? 配置 Spring Web MVC 配置 Spring Web Flow 2.0 的基础 在购物车示例应用中配置 S ...

  5. CF789B. Masha and geometric depression

    /* CF789B. Masha and geometric depression http://codeforces.com/contest/789/problem/B 水题 各种特判,贼烦 */ ...

  6. 洛谷—— P1041 传染病控制

    https://www.luogu.org/problem/show?pid=1041 题目背景 近来,一种新的传染病肆虐全球.蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜 ...

  7. Notepad++ 设置执行 lua 和 python

    Notepad++ 设置执行 lua 和 python 一.设置 run -> 设置 cmd /k lua "$(FULL_CURRENT_PATH)" & PAUS ...

  8. impdp时卡住,DW等待library cache lock

    同事反映impdp时在SCHEMA_REPORT/TYPE/TYPE_SPEC步骤卡住,1个多小时后也没有响应, 查下v$session: select program,sid, event,bloc ...

  9. 什么是A记录、MX记录、CNAME记录具体介绍

    什么是A记录: A (Address) 记录是用来指定主机名(或域名)相应的IP地址记录.用户能够将该域名下的站点服务器指向到自己的web server上. 同一时候也能够设置域名的子域名. 通俗来说 ...

  10. class com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$Text

    运行mapreduce遇到的错: Java.lang.ClassCastException: classcom.sun.jersey.core.impl.provider.entity.XMLJAXB ...