qt5.3.2在ros(机器人操作系统)中的使用:qmake与cmake(qt5.4.0不适用)

qt5.3.2在ros(机器人操作系统)中的使用:qmake与cmake

(1)    http://wiki.ros.org/qt_ros?distro=indigo
(2)    http://answers.ros.org/question/63445/gui-catkin-qt5-cmake/

组织架构:


robot:  src(package) + include(package) + resources (package) + launch(package) +  ui(package)  + robot_gui.pro CmakeList.txt +  package.xml
src:  robot_gui_node.cpp + robot_navigationinterface.cpp
include: robot_navigationinterface.h
ui:  navigationInterface.ui
launch:  robot_gui.launch

cmake例子:

cmake_minimum_required(VERSION 2.8.9)
project(robot_gui)

find_package(catkin REQUIRED COMPONENTS
  roscpp
  roslib
  nav_msgs
  )

include_directories(include  ${catkin_INCLUDE_DIRS})
link_directories(${catkin_LIBRARY_DIRS})

#########################################
#
# get_target_property(QtCore_location Qt5::Core LOCATION)

SET(SYSNAME ${CMAKE_SYSTEM}-${CMAKE_SYSTEM_PROCESSOR})
SET(CMAKE_AUTOMOC ON)
SET(CMAKE_INCLUDE_CURRENT_DIR ON)
find_package(Qt5Widgets)# REQUIRED)
 
add_definitions(${Qt5Widgets_DEFINITIONS})
set(CMAKE_CXX_FLAGS "${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
catkin_package(
  DEPENDS   
    QtCore
    QtGui
   QtUiTools
  CATKIN_DEPENDS
    roscpp
    roslib
     nav_msgs   
  INCLUDE_DIRS include
  LIBRARIES
)


 #set(CMAKE_CXX_FLAGS "${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS} -I/home/wsh/Qt5.3.2/5.3     /gcc/include -L/home/wsh/Qt5.3.2/5.3/gcc_64/lib -DQT5")
SET(QT_FORMS    ui/navigationInterface.ui )
SET(QT_RESOURCES resources/resources.qrc)
 
QT5_WRAP_UI(QT_FORMS_HPP ${QT_FORMS})

QT5_ADD_RESOURCES(QT_RESOURCES_RCC ${QT_RESOURCES})

QT_WRAP_CPP(robot_gui_node SAMPLE_MOC_SRCS include/robot_navigationinterface.h)

 #CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/cmake/yaner.sh" "${CMAKE_CURRENT_BINARY_DIR}/yaner" COPYONLY)


add_executable(robot_gui_node
 src/robot_gui_node.cpp
 ${QT_FORMS_HPP} ${SAMPLE_MOC_SRCS} ${QT_RESOURCES_RCC}
)
#add_dependencies(robot_gui_node robot_msgs_gencpp)  # Wait for std messages to build
target_link_libraries(robot_gui_node
  ${catkin_LIBRARIES}
  ${Qt5Widgets_LIBRARIES}
)

qt5_use_modules(robot_gui_node  Widgets Multimedia ) #使用到Multimedia插件

# Install launch files
install(DIRECTORY launch resources
  DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
)

# Install excecutables
install(TARGETS robot_gui_node
  RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

###############################################


qmake例子:

#-------------------------------------------------
#
# Project created by QtCreator 2015-01-02T09:22:54
#
#-------------------------------------------------

QT       += core gui
QT       +=  multimedia
QT       +=  multimediawidgets

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = robot_gui_node
TEMPLATE = app
UI_HEADERS_DIR = ../bulid

SOURCES += src/robot_gui_node.cpp \
     src/robot_navigationinterface.cpp \
 


HEADERS  += include/robot_navigationinterface.h 


FORMS    +=     ui/navigationInterface.ui

RESOURCES +=   resources/resources.qrc

OBJECTS_DIR +=/home/wsh/robot_ws/build #../robot_gui/temp

UI_DIR +=  $${OBJECTS_DIR}
RCC_DIR += $${OBJECTS_DIR}
MOC_DIR = $${OBJECTS_DIR}
DESTDIR =  $${OBJECTS_DIR}

INCLUDEPATH += $$PWD/../../../../../../../opt/ros/indigo/include
DEPENDPATH += $$PWD/../../../../../../../opt/ros/indigo/include

unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -lcpp_common
unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -lroslib
unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -lroscpp
unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -lpthread
unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -lroscpp_serialization
unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -lrostime
unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -lrosconsole
unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -lrosconsole_log4cxx
unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -lrosconsole_backend_interface
unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -lxmlrpcpp

unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -l:/usr/lib/x86_64-linux-gnu/libboost_signals.so
unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -l:/usr/lib/x86_64-linux-gnu/libboost_filesystem.so
unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -l:/usr/lib/x86_64-linux-gnu/libboost_system.so
unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -l:/usr/lib/x86_64-linux-gnu/libboost_thread.so
unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -l:/usr/lib/x86_64-linux-gnu/libpthread.so
unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -l:/usr/lib/x86_64-linux-gnu/libconsole_bridge.so
unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -l:/usr/lib/x86_64-linux-gnu/libboost_date_time.so
unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -l:/usr/lib/liblog4cxx.so

unix:!macx: LIBS += -L$$PWD/../../../../../../../opt/ros/indigo/lib/ -l:/usr/lib/x86_64-linux-gnu/libboost_regex.so





欢迎大家批评,指正,交流!

联系方式:

emai:  tongzhuodenilove@163.com
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值