Ubuntu12.04编译PCL1.6源码
2013-03-08 18:59
381 查看
已经在Ubuntu12.04上成功编译了openni的库,为了研究点云数据,还需要安装PCL库。按照官网上的说法(http://pointclouds.org/downloads/linux.html)使用apt-get的方式安装,但是总是提示安装所依赖的其他库未安装,纠结了许久未安装成功,所以决定使用源码进行编译安装。
也可以使用svn进行下载:
注:现在官网上的最稳定版本是1.6,用svn下载的是处于开发阶段的1.7版本
所以必须要确定PC上已经安装了这些库,如果没有安装,使用以下命令进行安装:
解压代码,创建编译文件夹:
使用cmake生成makefile
在这一步,cmake会自动检测PCL的依赖包是否已经安装,而且可以检测出这些依赖包的版本。如果检测没有问题,会自动生成makefile。
一开始,我在这一步总是编译失败(见http://www.pclcn.org/bbs/forum.php?mod=viewthread&tid=67&extra=page%3D1),后来发现是boost库的问题,我是用的是1.53的,可能是太新了。使用apt-get的方法安装boost1.46.1也不行,cmake检测出来的boost版本还是1.53的。最后在网上(http://packages.ubuntu.com/precise/libs/ )直接下载的deb包安装就没有问题了。不过boost的包很多,不许要全部安装,根据make的错误提示安装就行了。
编译通过以后就可以安装了。
编译没有问题,PCL安装应该没有问题,但是运行结果如下:
这个是不是有问题呀,我试了openni_narf_keypoint_extraction和openni_range_image_visualization两个例程,也没有kinect的数据,是不是什么地方有问题,还请高手赐教~~多谢
然后再进行编译就没有问题了。几个例程的显示效果如下:
1、openni_viewer:
2、openni_narf_keypoint_extraction:
3、openni_range_image_visualization:
----------------------------------------------------------------
欢迎大家转载我的文章。
转载请注明:转自古-月
http://blog.csdn.net/hcx25909
欢迎继续关注我的博客
一、下载源代码
可以直接从官网上下载:http://pointclouds.org/downloads/也可以使用svn进行下载:
svn co http://svn.pointclouds.org/pcl/trunk pcl-trunk
注:现在官网上的最稳定版本是1.6,用svn下载的是处于开发阶段的1.7版本
二、安装依赖库
根据官网的说明,PCL必须要依赖以下库:所以必须要确定PC上已经安装了这些库,如果没有安装,使用以下命令进行安装:
sudo apt-get install lib* //(*代表所需要安装的库)
三、编译安装
编译安装的方法在官网上都有介绍(http://pointclouds.org/downloads/source.html)。解压代码,创建编译文件夹:
cd PCL-1.6.0 && mkdir build && cd build
使用cmake生成makefile
cmake -DCMAKE_BUILD_TYPE=Release ..
在这一步,cmake会自动检测PCL的依赖包是否已经安装,而且可以检测出这些依赖包的版本。如果检测没有问题,会自动生成makefile。
make
一开始,我在这一步总是编译失败(见http://www.pclcn.org/bbs/forum.php?mod=viewthread&tid=67&extra=page%3D1),后来发现是boost库的问题,我是用的是1.53的,可能是太新了。使用apt-get的方法安装boost1.46.1也不行,cmake检测出来的boost版本还是1.53的。最后在网上(http://packages.ubuntu.com/precise/libs/ )直接下载的deb包安装就没有问题了。不过boost的包很多,不许要全部安装,根据make的错误提示安装就行了。
编译通过以后就可以安装了。
sudo make install
四、测试
安装完毕后,默认在/usr/local/share/doc/pcl_1.6/sources路径下有例程。进入openni_grabber文件夹,里面有代码和cmake文件。进行编译:sudo cmake .
sudo make
./openni_grabber
编译没有问题,PCL安装应该没有问题,但是运行结果如下:
这个是不是有问题呀,我试了openni_narf_keypoint_extraction和openni_range_image_visualization两个例程,也没有kinect的数据,是不是什么地方有问题,还请高手赐教~~多谢
五、测试修改
终于发现了前边kinect数据显示错误的问题,原来是那些例程包里cmake文件中链接的pcl版本不对,pcl1.6的例程链接的竟然是1.2和1.3的,真是bug~~~所以在编译之前,修改cmake文件中的链接版本:find_package(PCL 1.6 REQUIRED)
然后再进行编译就没有问题了。几个例程的显示效果如下:
1、openni_viewer:
2、openni_narf_keypoint_extraction:
3、openni_range_image_visualization:
----------------------------------------------------------------
欢迎大家转载我的文章。
转载请注明:转自古-月
http://blog.csdn.net/hcx25909
欢迎继续关注我的博客
相关文章推荐
- Ubuntu12.04编译PCL1.6源码
- PCL1.6源码在ZYNQ(Cortex-A9)上编译
- ubuntu12.04编译android源码环境搭建____安装JDK 1.6
- PCL1.6源码在ZYNQ(Cortex-A9)上编译
- Ubuntu12.04下Android4.0.4源码的下载及其编译过程
- Ubuntu12.04 编译android 源码 遇到的问题
- Freescale I.mx 6 Android 4.2.2源码编译环境搭建(基于ubuntu12.04 LTS)
- 基于ubuntu12.04-32bit的android Froyo源码编译
- ubuntu12.04 编译android4.2源码 gcc: fatal error: no input files错误
- java1.7的环境编译不了android源码需要安装java1.6
- Ubuntu12.04下在Android4.0.4源码下载及其编译过程
- Freescale I.mx 6 Android 4.2.2源码编译环境搭建(基于ubuntu12.04 LTS)
- 如何用jdk1.6编译android源码
- UBUNTU12.04编译Android源码<命令行>:0:0: 错误: “_FORTIFY_SOURCE”重定义 [-Werror] <命令行>::0:0: 错误: “_FORTIFY_SOUR
- ubuntu12.04 安装 opencv 2.4.8(非源码编译)
- 在Android上实现SPI通信之(1)------在Ubuntu12.04环境下编译android源码
- Freescale I.mx 6 Android 4.2.2源码编译环境搭建(基于ubuntu12.04 LTS)
- Ubuntu12.04下搭建android源码编译环境全
- ubuntu12.04安装android源码编译环境
- Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决