【问题标题】:Ros catkin_make fail with QtRos catkin_make 使用 Qt 失败
【发布时间】:2018-07-19 00:12:59
【问题描述】:

我在 catkin_make 我的工作区时收到此错误:

[100%] Linking CXX executable /home/ankilp/test_ws/devel/lib/lidar_depth/lidar_depth
/usr/bin/ld: cannot find -lQt5::Widgets  

这是我的 CMakeList 文件:

    cmake_minimum_required(VERSION 2.8.3)
project(lidar_depth)

## Compile as C++11, supported in ROS Kinetic and newer
add_compile_options(-std=c++11)

find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  std_msgs
  genmsg
)

find_package( PCL REQUIRED)
find_package(Qt4 COMPONENTS QtCore QtGui REQUIRED)

include(${QT_USE_FILE})

add_definitions(-DQT_NO_KEYWORDS)

catkin_package(

)

###########
## Build ##
###########

## Specify additional locations of header files
## Your package locations should be listed before other locations
include_directories(
# include
  ${catkin_INCLUDE_DIRS}
  ${PCL_INCLUDE_DIRS}
)

link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})

add_executable(${PROJECT_NAME} src/LidarDepth.cpp src/Projection_matrices.hpp)

target_link_libraries(${PROJECT_NAME}
   ${catkin_LIBRARIES}
   ${PCL_LIBRARIES}
   ${QT_LIBRARIES}
)

我没有明确使用与 Qt 相关的任何内容。我单独安装了 Qt5,但问题仍然存在。是否有单独的流程将 Qt 链接到我的系统?

【问题讨论】:

  • 您使用的是 ROS Kinetic 和 Ubuntu 16.04 吗?

标签: ros


【解决方案1】:

看起来您至少在​​使用 ROS Kinetic(基于您添加编译选项的注释)。 Kinetic 中的大部分内容depend on Qt5 instead of Qt4。尝试对您的 CMakeLists.txt 文件进行以下更改:

替换这一行

find_package(Qt4 COMPONENTS QtCore QtGui REQUIRED)

这些行

find_package(Qt5 COMPONENTS Core Gui Widgets REQUIRED)
set(QT_LIBRARIES Qt5::Widgets)

如果这对您不起作用,请发表评论,因为我在 Kinetic 中有一个用于 Qt5 的工作 CMakeLists.txt 文件,并且可能可以确定还需要更改哪些内容,但我认为这是最小的更改。

【讨论】:

    【解决方案2】:

    如果你已经单独安装了 Qt,你必须告诉 CMAKE 它可以在哪里找到你的安装。这可以通过在执行 cmake (ref) 之前在 CMakeLists.txt 文件或终端中指定 CMAKE_PREFIX_PATH 来完成。例如:

    $ export CMAKE_PREFIX_PATH=/location/to/you/installation
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-01
      • 2015-01-19
      • 1970-01-01
      相关资源
      最近更新 更多