Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Qt Creator读取rosbag文件时出错 我对Qt Creator和C++都是新手,我想用QT创建者来制作一个GUI来显示RoBACK所提供的数据。但是我在将rosbag导入Qt时遇到了一个问题。我测试了中给出的代码,但发现错误: error: cannot find -ltf2_ros error: cannot find -lrospack error: cannot find -lroslib error: cannot find -lroscpp error: cannot find -lrosconsole_bridge error: cannot find -lrosbag_storage error: cannot find -lrosbag_C++_Qt_Qt Creator_Ros - Fatal编程技术网

使用Qt Creator读取rosbag文件时出错 我对Qt Creator和C++都是新手,我想用QT创建者来制作一个GUI来显示RoBACK所提供的数据。但是我在将rosbag导入Qt时遇到了一个问题。我测试了中给出的代码,但发现错误: error: cannot find -ltf2_ros error: cannot find -lrospack error: cannot find -lroslib error: cannot find -lroscpp error: cannot find -lrosconsole_bridge error: cannot find -lrosbag_storage error: cannot find -lrosbag

使用Qt Creator读取rosbag文件时出错 我对Qt Creator和C++都是新手,我想用QT创建者来制作一个GUI来显示RoBACK所提供的数据。但是我在将rosbag导入Qt时遇到了一个问题。我测试了中给出的代码,但发现错误: error: cannot find -ltf2_ros error: cannot find -lrospack error: cannot find -lroslib error: cannot find -lroscpp error: cannot find -lrosconsole_bridge error: cannot find -lrosbag_storage error: cannot find -lrosbag,c++,qt,qt-creator,ros,C++,Qt,Qt Creator,Ros,如何添加这些库?我想您会在ROS答案网站上得到更相关的回复。但我可以开始回答你的问题了 当您开始使用ROS时,首先要做的是遵循以下教程:(尤其是3、4和11) 您可以检查库是否安装在以下文件夹/opt/ros/kinetic/lib/(如果您使用ubuntu 16.04上默认的ros-kinetic) 然后,在开发ROS节点时,不要使用Qmake,而是使用catkin和cmake 使用柳絮和QT的最小CMake如下所示: cmake_minimum_required(VERSION 2.8.12

如何添加这些库?

我想您会在ROS答案网站上得到更相关的回复。但我可以开始回答你的问题了

当您开始使用ROS时,首先要做的是遵循以下教程:(尤其是3、4和11)

您可以检查库是否安装在以下文件夹/opt/ros/kinetic/lib/(如果您使用ubuntu 16.04上默认的ros-kinetic)

然后,在开发ROS节点时,不要使用Qmake,而是使用catkin和cmake

使用柳絮和QT的最小CMake如下所示:

cmake_minimum_required(VERSION 2.8.12)
project(librosqt)

find_package(catkin REQUIRED roscpp)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
find_package(Qt5Core)

catkin_package(
  INCLUDE_DIRS include
  LIBRARIES librosqt
  CATKIN_DEPENDS roscpp
)

include_directories(include ${Qt5Core_INCLUDE_DIRS} ${catkin_INCLUDE_DIRS})


add_library(librosqt src/QRosCallBackQueue.cpp include/librosqt/QRosCallBackQueue.h)

add_executable(test_rosqt_node test/main.cpp test/TestObject.cpp)

target_link_libraries(test_rosqt_node 
   librosqt
   ${catkin_LIBRARIES} Qt5::Core
)

install(TARGETS librosqt
  ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
  LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
  RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

install(DIRECTORY include/${PROJECT_NAME}/
  DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
  FILES_MATCHING PATTERN "*.h"
  PATTERN ".svn" EXCLUDE
)
然后,如果你用柳絮。您将拥有一个package.xml,其中列出所有依赖项(QT、tf2等…)。然后在构建您的ros工作区之前,您可以使用rodeps安装,该工具将安装您的所有库。(见文件)

另一个需要注意的重要事项是:不要忘记来源!!!! 在构建节点之前,必须获取以下文件的源文件:
/opt/ros/kinetic | lunar/setup.bash
您的工作空间_home/devel/setup.bash


如果要在QTCreator中生成(使用“生成”按钮),请确保QTCreator是在源代码环境中启动的。

是否在操作系统上安装了库?操作系统是什么?是否使用caktin或qmake?你能粘贴你的cmake列表吗?我有ubuntu 16.04。不,我找不到那些库,你能帮我吗?你安装了ros吗?根据我在问题中看到的,问题是它没有安装库。看到你的答案,这对OP没有反应。如果他像我建议的那样使用catkin和rosdeps,库将在他构建时自动安装。很好的一点,我建议你把它放在你的答案中,删除否决票。