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就 算编译好了.

Window7下手动编译最新版的PCL库的更多相关文章

  1. Linux下手动编译shogun

    手动编译shogun,如果按照直接按照官网上的步骤进行,会踩非常多的坑,下面分享一下在下的编译过程,希望能为阁下提供些许借鉴. 1. git clone https://github.com/shog ...

  2. fedora下手动编译安装vim

    据说手动编译安装可以更适合自己的电脑哦- 1.首先,我门要下载源文件,下载地址:ftp://ftp.vim.org/pub/vim/unix/ 选择一个最新版本,我这里选择的是 vim-7.4.tar ...

  3. CentOS6.9下手动编译并安装Python3.7.0

    CentOS6.9默认安装的python版本为2.6.6,若想安装python3以上版本,只能手工编译安装 下面介绍Python-3.7.0版本的手动编译并安装的步骤 1.下载Python-3.7.0 ...

  4. linux 下手动编译安装无线网卡驱动

    先参照 <本地yum源安装GCC >安装好gcc hp的笔记本上安装了CentOS6.3,没有安装无线网卡驱动,安装这个驱动,在Google上找了好多资料,最后终于解决了这个问题.在这里做 ...

  5. FFmpeg: mac下手动编译android上使用的FFmpeg(支持x86、armeabi-v7a、arm64-v8a)

    之前一直在linux下编译FFmpeg,最近换电脑了,尝试了下在mac下编译ffmpeg,特记录之. 一. 准备工作 1. 下载FFmpeg.(http://ffmpeg.org/download.h ...

  6. 如何在Linux下手动编译安装gcc

    如果可以通过apt来安装的话,尽量不要手工编译了,手工编译是最后的选择.用apt安装,只需要输入一条命令: sudo apt-get install gcc 手工编译的话,gcc和其他软件包存在如下的 ...

  7. ubuntu 18.04下安装编译的KMS,依赖库

    libboost-system1.65.1 libglib2.0-0 libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libnice10 libsig ...

  8. Sass中文乱码问题(手动编译和watch编译)

    一.sass手动编译出错 .scss文件中含有中文的时候编译报错(比如注释,比如字体栈),比如: foo.scss: 编译: 解决办法: 找到类似这个的路径的文件(仅供参考,不同环境可能不同): C: ...

  9. Windows下编译最新版ChezScheme

    据说ChezScheme是最快的神级编译器,一秒钟几百万行,王垠说的2秒内编译自身绝不是夸张(看这里<揭秘Chez Scheme>,Scheme中文社区).ChezScheme由美国印第安 ...

随机推荐

  1. Linux编程遇到的问题汇集(持续更新中)

    1.源代码编译redis报告错误: undefined reference to `__sync_add_and_fetch_4' 最近项目组在实验Redis,源代码编译的时候,遇到了错误:undef ...

  2. MySQL锁等待分析【1】

    场景: 昨天业务系统上遇到了数据库慢的问题(对dcsdba.og_file_audit表的insert 慢&超时).分析后定位到是由于锁等待造成的.分析过程如下: 1.执行show proce ...

  3. 神经网络及其简单实现(MATLAB)

    转自:http://www.cnblogs.com/heaad/archive/2011/03/07/1976443.html 第0节.引例  本文以Fisher的Iris数据集作为神经网络程序的测试 ...

  4. 用linux mail命令发送邮件[Linux]

    mail [-s 邮件标题] <<邮件地址1> [邮件地址2] [邮件地址3]> [ < 包含邮件内容的文件路径 ] <-- -f 发送邮件地址> [-F 显 ...

  5. activiti 5.17 流程图中文乱码问题

    1. 流程图中任务中的中文乱码显示问题.   解决方法:设置processEngineConfiguration中的两个字体属性,例如: <bean id="processEngine ...

  6. 利用Qt将网页保存为PDF

    灵社区文章链接http://www.ituring.com.cn/article/128717起因是在群里和大家讨论自己做一个图灵社区的客户端,说没有API不好搞,后来fairjm童鞋发了个java版 ...

  7. DSP与单片机的区别

    以前刚学习单片机时,经过一订的编程,能实现很多不同的功能,当时就觉得单片机真的是神通广大.后来接触到DSP,发现DSP处理数字在通信上,更加方便.于是我就很好奇的问自己,DSP和单片机,究竟有什么区别 ...

  8. 用Scrapy写一个爬虫

    昨天用python谢了一个简单爬虫,抓取页面图片: 但实际用到的爬虫需要处理很多复杂的环境,也需要更加的智能,重复发明轮子的事情不能干, 再说python向来以爬虫作为其擅长的一个领域,想必有许多成熟 ...

  9. iOS7状态栏字体颜色修改

    iOS7中,默认的状态栏字体颜色是黑色的,如何修改为其它颜色呢? 1.在项目的*info.plist中增加 View controller-based status bar appearance 属性 ...

  10. js基础例子dom+原型+oop基础知识记录01

    //oo:概念是计算机中对于现实世界的理解和抽象的方法 //由计算机利用编程技术发展到现在的产物 //面向对象几要素 //对象:由属性和方法组成的集合 //属性:保存数据,存储在对象内存空间中的唯一的 ...