PCL(点云库)1.7关于Ubuntu 16.04 LTS构建错误

时间:2016-08-02 03:08:57

标签: point-cloud-library ubuntu-16.04

我将Ubuntu版本从14.04更新到16.04 lts 在构建利用点云库的项目时出现问题。 (它曾经在Ubuntu 14.04上运行良好,我用qtcreator构建我的项目)

我的警告信息是:

  

警告:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/libpcl_common.so所需的libboost_system.so.1.54.0可能会发生冲突使用libboost_system.so.1.58.0

     

警告:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/libpcl_common.so所需的libboost_thread.so.1.54.0可能会发生冲突使用libboost_thread.so.1.58.0

     

警告:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/libpcl_io.so所需的libboost_filesystem.so.1.54.0可能会发生冲突使用libboost_filesystem.so.1.58.0

     

警告:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/libpcl_io.so所需的libboost_iostreams.so.1.54.0可能会发生冲突使用libboost_iostreams.so.1.58.0

     

警告:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/libpcl_io.so所需的libboost_chrono.so.1.54.0可能会发生冲突使用libboost_chrono.so.1.58.0

,错误是:

  

〜/ main.cpp:-1:错误:未定义引用`pcl :: visualization :: PCLVisualizer :: PCLVisualizer(std :: __ cxx11 :: basic_string,std :: allocator> const&,bool)&# 39;

     

〜/ main.cpp:-1:错误:未定义引用`pcl :: visualization :: PCLVisualizer :: setPointCloudRenderingProperties(int,double,std :: __ cxx11 :: basic_string,std :: allocator> const&, INT)'

     

〜/ main.cpp:-1:错误:未定义引用`pcl :: visualization :: PCLVisualizer :: setPointCloudRenderingProperties(int,double,std :: __ cxx11 :: basic_string,std :: allocator> const&, INT)'

     

〜/ build-Desktop-Default / CMakeFiles / project_name.dir / main.cpp.o:-1:在函数`pcl :: search :: OrganizedNeighbor :: OrganizedNeighbor(bool,float,unsigned int)&#39 ;:

     

〜/ main.cpp:-1:错误:未定义引用`pcl :: search :: Search :: Search(std :: __ cxx11 :: basic_string,std :: allocator> const&,bool)&# 39;

     

〜/ build-Desktop-Default / CMakeFiles / project_name.dir / main.cpp.o:-1:在函数`pcl :: search :: OrganizedNeighbor :: OrganizedNeighbor(bool,float,unsigned int)&#39 ;:

     

〜/ build-Desktop-Default / CMakeFiles / project_name.dir / main.cpp.o:-1:在函数`pcl :: search :: OrganizedNeighbor :: OrganizedNeighbor(bool,float,unsigned int)&#39 ;:

我可以看到libboost_system.so.1.54.0libboost_system.so.1.58.0之间存在冲突,但我该如何解决呢?

2 个答案:

答案 0 :(得分:1)

要在16.04从源代码构建pcl,请按照此步骤操作 tutorial。 但是没有理由不构建PCL 1.8而不是1.7.x,因为它是向下兼容的。

此外,1.7.2的Jochen Sprieckerhof存储库已过时1.7.2,因为在Ubuntu 16.04中有一个本地repository。你可以简单地做

sudo apt-get update 
sudo apt-get install libpcl-dev

我建议使用其中一种方法进行清洁,然后重新安装。

答案 1 :(得分:0)

也许您应该下载此文件PCL-1.8-linux.deb

运行此代码:

sudo dpkg -i PCL-1.8-linux.deb.