win10 下 ros + Qt 工程CMakeLists.txt

win10 下 ros + Qt 工程CMakeLists.txt

系统:win10

ros: melodic

Qt: 5.12.12

源码目录: D:\workspace\catkin_qt

示例代码 https://github.com/ncnynl/ros-qt.git

由于示例代码是Qt4 ,目前我是用QT5,所以CMakeLists.txt 修改如下

CMakeLists.txt

bash 复制代码
##############################################################################
# CMake
##############################################################################

cmake_minimum_required(VERSION 2.8.0)
project(msg)

set (TARGET msg)

set(CMAKE_CXX_STANDARD 11)
add_compile_options(-std=c++11)

##############################################################################
# Catkin
##############################################################################

find_package(catkin REQUIRED COMPONENTS
  roscpp
  std_msgs
)

include_directories(
    ${catkin_INCLUDE_DIRS}
    # include ui generate .h file
    ${CMAKE_BINARY_DIR}/code02-msg
)
# Use this to define what the package will export (e.g. libs, headers).
# Since the default here is to produce only a binary, we don't worry about
# exporting anything. 
catkin_package()

##############################################################################
# Qt Environment
##############################################################################

## This setting causes Qt's "MOC" generation to happen automatically.
# set(CMAKE_AUTOMOC ON)
# set(CMAKE_AUTOUIC ON)
# set(CMAKE_AUTORCC ON)

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



##############################################################################
# Sections
##############################################################################

##############################################################################
# Sources
##############################################################################

file(GLOB_RECURSE SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} FOLLOW_SYMLINKS src/*.cpp)
file(GLOB_RECURSE HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} FOLLOW_SYMLINKS include/msg/*.hpp)
file(GLOB_RECURSE RESOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} FOLLOW_SYMLINKS resources/*.qrc)
file(GLOB_RECURSE UI RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} FOLLOW_SYMLINKS ui/*.ui)


qt5_wrap_cpp(SOURCES ${HEADERS})
qt5_wrap_ui(SOURCES ${UI})
qt5_add_resources(SOURCES ${RESOURCES})

##############################################################################
# Binaries
##############################################################################

add_executable(${TARGET} ${SOURCES} )
target_link_libraries(${TARGET} ${QT_LIBRARIES} ${catkin_LIBRARIES})
install(TARGETS ${TARGET} RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})

message("CATKIN_PACKAGE_BIN_DESTINATION : " ${CATKIN_PACKAGE_BIN_DESTINATION})
message("CATKIN_PACKAGE_ETC_DESTINATION : " ${CATKIN_PACKAGE_ETC_DESTINATION})
message("CATKIN_PACKAGE_INCLUDE_DESTINATION : " ${CATKIN_PACKAGE_INCLUDE_DESTINATION})
message("CATKIN_PACKAGE_LIB_DESTINATION : " ${CATKIN_PACKAGE_LIB_DESTINATION})
message("CATKIN_PACKAGE_PYTHON_DESTINATION : " ${CATKIN_PACKAGE_PYTHON_DESTINATION})
message("CATKIN_PACKAGE_SHARE_DESTINATION : " ${CATKIN_PACKAGE_SHARE_DESTINATION})
message("CMAKE_BINARY_DIR":${CMAKE_BINARY_DIR})

编译

win10下 打开 ros-melodic 命令行快捷方式:

切换到工作目录 :

bash 复制代码
C:\Windows\System32> cd /d D:\workspace\catkin_qt

添加工作目录环境变量:

bash 复制代码
D:\workspace\catkin_qt> cmd /k D:\workspace\catkin_qt\devel\setup.bat
bash 复制代码
catkin_make 

运行

bash 复制代码
roscore
bash 复制代码
rosrun msg msg
相关推荐
LN花开富贵6 小时前
【ROS】鱼香ROS2学习笔记一
linux·笔记·python·学习·嵌入式·ros·agv
Drone_xjw6 小时前
一次 Qt 程序在 Kylin 系统下表头“白屏”的排查之旅
qt·kylin·一次
kobesdu12 小时前
【ROS2实战笔记-3】RViz2图形底层与调试暗坑
笔记·机器人·ros·rviz
尘中远14 小时前
Qwt 7.0 新特性介绍 — 更现代、更强大的Qt数据可视化库
qt·qwt·科学绘图·曲线图
会飞的胖达喵17 小时前
基于qt开发的RedisDesk
开发语言·qt
油炸自行车17 小时前
【Qt】运行 `windeployqt.exe` 打包Qt发布包,遇到警告的解决方法 (Warning: Cannot find any.....)
开发语言·qt·vs·打包·windeployqt·软件部署
sanzk17 小时前
ASTRA PRO相机
ubuntu·ros·3d相机
Westward-sun.18 小时前
PyQt5入门实战:从零实现一个表达式输入式计算器(附完整代码)
开发语言·qt
Stone_OverLooking19 小时前
vscode 配置Qt qmake项目
ide·vscode·qt
sycmancia19 小时前
Qt——应用程序中的主窗口
开发语言·qt