没有规则使目标 *.so

No rule to make target *.so

我正在尝试使用 ROS catkin 构建这个 https://github.com/felixendres/rgbdslam_v2。但是,这不应该那么相关。我得到的错误是我安装的 qt4。

没有制定目标的规则 /usr/lib/arm-linux-gnueabihf/libQtGui.so', needed by/home/odroid/catkin_ws/devel/lib/rgbdslam/rgbdslam'。停止。

我听说这是由重复的库文件引起的,但是当我这样做时

ldconfig -p | grep libQtGui 

我明白了

libQtGui.so.4 (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libQtGui.so.4
libQtGui.so (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libQtGui.so

我该如何解决这个构建错误?我认为这与 RGBDSLAM 不是为 arm 设计并在错误的地方搜索有关,但它只是在做 find_package(Qt4 REQUIRED) 和 include(${QT_USE_FILE})

编辑:另一个例子: 没有规则使目标 /usr/lib/libpcl_io.so', needed by/home/odroid/catkin_ws/devel/lib/pcl_ros/convert_pcd_to_image'

我从源代码编译了 qt4 和 pcl,只做了 sudo make install。

这个错误意味着库的第二个副本在附近。 运行 aptitude 搜索以找到额外的副本。