PX4 avoidance 功能包编译问题

PX4 avoidance 功能包编译问题

问题描述

在编译的过程中出现下面的错误。

CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfig.cmake:27 (message):
  The imported target "Qt5::Gui" references the file

     "/usr/lib/x86_64-linux-gnu/libEGL.so"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "/usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake"

  but not all the files it references.

Call Stack (most recent call first):
  /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:50 (_qt5_Gui_check_file_exists)
  /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:72 (_qt5gui_find_extra_libs)
  /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfig.cmake:158 (include)
  /usr/lib/x86_64-linux-gnu/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake:99 (find_package)
  /usr/lib/cmake/vtk-6.2/Modules/vtkViewsQt.cmake:13 (find_package)
  /usr/lib/cmake/vtk-6.2/vtkModuleAPI.cmake:45 (include)
  /usr/lib/cmake/vtk-6.2/vtkModuleAPI.cmake:15 (vtk_module_load)
  /usr/lib/cmake/vtk-6.2/vtkModuleAPI.cmake:132 (_vtk_module_config_recurse)
  /usr/lib/cmake/vtk-6.2/VTKConfig.cmake:80 (vtk_module_config)
  /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:328 (find_package)
  /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:468 (find_VTK)
  /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:651 (find_external_library)
  CMakeLists.txt:18 (find_package)      

问题排查

错误提示 "/usr/lib/x86_64-linux-gnu/libEGL.so"这个文件没有,我们我们先用ls查看一下这个命令

ls -l /usr/lib/x86_64-linux-gnu/libEGL.so

我们可以发现这是一个链接文件,这个链接的问题标红了,说明源文件被删除了,自然也就找不到这个文件了。

问题解决

原来的链接指向了一个空的链接,我们只需要删掉原来的链接,建立一个新的链接即可。

sudo rm /usr/lib/x86_64-linux-gnu/libEGL.so
sudo ln /usr/lib/x86_64-linux-gnu/libEGL.so.1.1.0 /usr/lib/x86_64-linux-gnu/libEGL.so

问题应该是链接的源文件不知道被什么东西删掉了,这个根据个人电脑里面的情况进行不同的源文件链接的修改。
ln命令第一个参数是源文件,第二个是以源文件建立的目标文件的链接名称。
可以通过下面的命令查看当前目录下面哪一个文件是有效的,就是非链接文件,第一个字母是-的

ls -l  /usr/lib/x86_64-linux-gnu/ | grep libEGL.so

在我的电脑上输出如下

lrwxrwxrwx  2 root root        15 710 20:06 libEGL.so -> libEGL.so.1.1.0
lrwxrwxrwx  2 root root        15 710 20:06 libEGL.so.1 -> libEGL.so.1.1.0
-rwxr-xr-x  1 root root     73328 710 20:06 libEGL.so.1.1.0

所以我的源文件选为libEGL.so.1.1.0以这个文件建立链接文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值