我正在使用arch并且最近更新了我的系统。从那时起,我无法使用Point Cloud Library链接项目。我在链接期间收到此错误消息:
[100%] Linking CXX executable cloud_viewer
/usr/bin/ld: warning: libboost_system.so.1.63.0, needed by /usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libpcl_common.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_thread.so.1.63.0, needed by /usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libpcl_common.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_iostreams.so.1.63.0, needed by /usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libpcl_io.so, not found (try using -rpath or -rpath-link)
我尝试创建符号链接libboost_xxxxx.so.1.63.0 -> libboost_xxxxx.so.1.64.0
但是现在连接工作时,在执行过程中程序崩溃了。
我应该尝试安装较旧的boot library
还是有更好的解决方案?
答案 0 :(得分:1)
有两种方法可以解决这个问题:
将PCL重新编译为当前的Boost并希望它仍然有效(可能性相对较高)
在当前系统版本的同时安装旧版本的boost。我不确定如何防止一般(无版本)符号链接创建(您可能不需要做任何特殊的事情)。保留其他版本的简单方法是将其安装到例如/opt/boost-1.63而不是/ usr。
两者都是同样的食物选择,只要第一种也适用。