ubuntu16.04重新安装PCL[纯记录,无内容]以及pcl毫无头绪的段错误

关于参考链接:

find_package与CMake如何查找链接库详解

  • 运行pcl程序时出现"段错误"准备从头开始安装pcl 记录一下

1)我发现我的usr/include里有pcl-1.7.1 usr/local/include里有pcl1.8 不知道当初是怎么安装的了 但是都有问题

在ubuntu下,直接通过apt-get安装的软件一般会在/usr下面
自己编译安装的软件(或者通过一些其他的非官方途径)会在/usr/local下面 
两个文件夹都是有效的,主要是看路径配的是哪一个
比如/usr/bin:几乎所有的系统可执行文件都会安装在这里
/usr/local/bin:则是可以存放一些系统用户自己特定的可执行文件,不用担心会被系统升级之类的行为覆盖,破坏,这个目录不是必须的
以PATH举例来说,如果/usr/local/bin在前面,就会优先选用里面的对应的文件来执行;当然一般来说/usr/bin是默认在前面,或者干脆默认没有把/usr/local/bin放在路径里

2)先在slambook十四讲里的ch5的joinmap里调试,正常的操作in CMakeLists.txt

find_package(PCL 1.7 REQUIRED)
include_directories( ${PCL_INCLUDE_DIRS} )
add_definitions( ${PCL_DEFINITIONS} )

3)被选中的是usr/local/include的pcl1.8 cmake ..和make 没有问题 但是会出现"段错误"

4)将CMakeLists.txt改成 用1.7.2的版本试一下

find_package(PCL 1.7.2 EXACT)

报错:

usr/bin/ld: 找不到 -lvtkproj4
collect2: error: ld returned 1 exit status
CMakeFiles/joinMap.dir/build.make:385: recipe for target 'joinMap' failed

再将CMakeLists.txt改成

find_package(PCL 1.7.2 EXACT)
list (REMOVE_ITEM PCL_LIBRARIES "vtkproj4") //应该是高博给的改动方法
include_directories( ${PCL_INCLUDE_DIRS} )
add_definitions( ${PCL_DEFINITIONS} )

cmake和make没问题了 但是还是段错误.

后续到代码里改了,但是完全不清楚代码哪里出问题 怀疑还是像orb-slam2-semantic那样是别的地方有影响 等改好了再记录

你可能感兴趣的:(ubuntu)