2017-08-10 26 views
1

Qt CreatorとC++の両方が新しく、Qt Creatorを使用してrosbagから与えられたデータを表示するGUIを作成します。しかし、私はQtにrosbagをインポートするのに問題があります。私はRosbag reader in qtcreatorから与えられたコードをテストしたが、エラーが出ます:Qt Creatorを使用してrosbagファイルを読み取っているときにエラーが発生しました

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 

は、どのように私はこれらのライブラリを追加するには?

+0

あなたのOSにライブラリをインストールしましたか? – eyllanesc

+0

あなたのOSは? – eyllanesc

+0

caktinまたはqmakeを使用していますか?あなたのcmakeリストを貼り付けることはできますか? –

答えて

1

私はROS回答ウェブサイトでより適切な回答があると思います。しかし、私はあなたの質問に答えることができます。

ROSの使用を開始するときはまず、http://wiki.ros.org/ROS/Tutorials(特に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 
) 

その後、あなたは尾状花を使用している場合。依存関係(QT、tf2など)をすべて一覧表示するpackage.xmlが作成されます。次に、rosワークスペースを構築する前に、rodeps installを使用することができます。このツールはすべてのライブラリをインストールします。 (文書hereを参照)。

注意すべきもう1つの重要なこと:忘れないでくださいソース !!!! ノードを構築する前に、次のファイルを入手する必要があります。 /opt/ros/kinetic|lunar/setup.bashおよびyour_workspace_home/devel/setup.bash

QTCreatorでビルドボタンを使用してビルドする場合は、qtcreatorがソース環境で起動されていることを確認してください。

+0

質問によると、問題は、ライブラリをインストールすることができないということです。あなたの答えを見て、これはOPに反応しません。 – eyllanesc

+0

彼がcatkinを使っていると私が示唆しているように、そしてrosdepsはビルド時にライブラリが自動的にインストールされます。 –

+0

良い点、私はdownvoteを削除するためにあなたの答えに入れてお勧めします。 – eyllanesc

関連する問題