gpt4 book ai didi

c++ - 使用 Qt Creator 读取 rosbag 文件时出错

转载 作者:行者123 更新时间:2023-11-30 05:10:36 24 4
gpt4 key购买 nike

我是 Qt Creator 和 C++ 的新手,我想使用 Qt Creator 制作一个 GUI 来显示从 rosbag 提供的数据。但是我在将 rosbag 导入 Qt 时遇到了问题。我测试了 Rosbag reader in qtcreator 给出的代码但出现错误:

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

如何添加这些库?

最佳答案

我想你在ROS answers网站上会有更中肯的回复。但是我可以开始回答你的问题了。

开始使用 ROS 时要做的第一件事就是遵循这些教程:http://wiki.ros.org/ROS/Tutorials (尤其是 3、4 和 11)。

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

然后,开发ROS节点时,不要用Qmake,用catkin和cmake。

使用 catkin 和 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
)

那么,如果你用catkin。您将拥有一个 package.xml,您将在其中列出所有依赖项(QT、tf2 等...)。然后在构建你的 ros 工作区之前,你可以使用 rodeps install ,这个工具将安装你所有的库。 (参见文档 here)。

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

如果您想在 QTCreator 中构建(使用构建按钮),请确保 qtcreator 是在源环境中启动的。

关于c++ - 使用 Qt Creator 读取 rosbag 文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45606073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com