win10 下 ros + Qt 工程CMakeLists.txt

news2024/11/27 14:50:58

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

##############################################################################
# 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 命令行快捷方式:
切换到工作目录 :

C:\Windows\System32> cd /d D:\workspace\catkin_qt

添加工作目录环境变量:

D:\workspace\catkin_qt> cmd /k D:\workspace\catkin_qt\devel\setup.bat
catkin_make 

运行

roscore

在这里插入图片描述

rosrun msg msg

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1192785.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

区块链多链数字钱包开发

随着区块链技术的不断发展,多链数字钱包的开发逐渐成为热门领域。多链数字钱包是一种可以支持多种区块链网络的数字钱包,用户可以使用它来存储、管理和转移不同的数字资产。本文将探讨多链数字钱包的开发背景、市场需求、技术实现和未来趋势等方面。 一、…

AI编程工具:一站式编程解决方案,引领AI编程新时代

在人工智能的巨浪之下,编程领域正在经历一场深刻的转型。这场转型的核心,就是AI智能编程工具的出现。它们为开发者提供了一种全新的编程方式,极大地提高了编程效率。在这场变革中,DevChat无疑是引领者之一。 一、DevChat&#xf…

2011年03月31日 Go生态洞察:Godoc —— Go代码的文档化

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

98 多数元素

多数元素 题解1 哈希表题解2 Boyer-Moore 投票算法 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n / 2 ⌋ ⌊ n/2 ⌋ ⌊n/2⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例…

外部访问K8S集群内部的kafka集群服务

不许转载 kafka 部署 把 kafka 部署到 k8s 后,我们肯定是通过 service 从 k8s 外部访问 kafaka。这里的 service 要么是 NodePort, 要么是 LoadBalancer 类型。我们使用的方式是 LoadBalancer。 我们先看下面这张图,这是 kafka 在集群中的网…

案例精选|聚铭综合日志分析系统为中电飞华业务数据安全保驾护航

当下,云和网正从过去的独立走向融合,各行各业从“上网”纷纷演进到“上云”。“上云,才能更好地拥抱数字时代”。云网融合高质量发展对信息基础设施能力提出了新要求,同时运营商在产业数字化领域的业务探索也需要强大的云网能力支…

如何构建并提高自己的核心竞争力?

上一篇文章聊到了软件工程师的核心竞争力主要分为三个方面:快速学习能力、解决问题能力和个人影响力,且核心竞争力的培养和提高需要长时间实践和积累,并不是短时间就可以达到的。这篇文章, 来聊聊如何培养和提高自己的核心竞争力。…

代码随想录算法训练营第四十七天丨 动态规划part10

121. 买卖股票的最佳时机 思路 动态规划 动规五部曲分析如下: 确定dp数组(dp table)以及下标的含义 dp[i][0] 表示第i天持有股票所得最多现金 ,这里可能有疑惑,本题中只能买卖一次,持有股票之后哪还有…

什么是 CASB,在网络安全中的作用

数字化转型正在稳步攀升,组织现在越来越关注在线生产力系统和协作平台,各行各业的企业都采用了不同的云基础设施服务模式。云基础架构提供按需服务,可提高易用性、访问控制、内容协作和减少内部存储资源,以及许多其他好处。迁移到…

多彩的树 -----题解(状压dp + 容斥原理)

目录 多彩的树 题目描述 输入描述: 输出描述: 输入 输出 思路解析: 代码实现: 多彩的树 时间限制:C/C 5秒,其他语言10秒 空间限制:C/C 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 …

java springBoot 一个demo搞定大文件上传 分片上传 断点续传 秒传

java springBoot js 大文件上传分片上传 断点续传 秒传 文件上传在项目开发中再常见不过了,大多项目都会涉及到图片、音频、视频、文件的上传,通常简单的一个Form表单就可以上传小文件了,但是遇到大文件时比如1GB以上,或者用户网…

WebSocket魔法师:打造实时应用的无限可能

1、背景 在开发一些前端页面的时候,总是能接收到这样的需求:如何保持页面并实现自动更新数据呢?以往的常规做法,是前端使用定时轮询后端接口,获取响应后重新渲染前端页面,这种做法虽然能达到类似的效果&…

Mac电脑Visio文件编辑查看软件推荐Visio Viewer for Mac

mac版Visio Viewer功能特色 在Mac OS X上查看Visio绘图和图表 在Mac OS X上轻松查看MS Visio文件 在Mac上快速方便地打开并阅读Visio文件(.vsd,.vsdx)。 支持通过放大,缩小,旋转,文本选择和复制&#xff0…

Langchain知识点(上)

输出格式 Pydantic (JSON) 解析器 # 创建模型实例 from langchain import OpenAI model OpenAI(model_nametext-davinci-003)# ------Part 2 # 创建一个空的DataFrame用于存储结果 import pandas as pd df pd.DataFrame(columns["flower_type", "price"…

Python万圣节礼物

文章目录 系列文章前言小海龟快速入门万圣节蝙蝠万圣节南瓜头万圣节礼物尾声 系列文章 序号文章目录直达链接1浪漫520表白代码https://want595.blog.csdn.net/article/details/1306668812满屏表白代码https://want595.blog.csdn.net/article/details/1297945183跳动的爱心http…

MySQL窗口函数——让查询变得更简单

文章目录 一、窗口函数概述1、什么是窗口函数2、窗口函数有哪些(1)聚合函数(聚合函数不是本文讨论的重点)(2)专用窗口函数 3、基本语法4、测试数据准备 二、窗口函数使用1、初识窗口函数:使用聚…

微头条项目实战:新增RequestHeader注解

1、RequestHeader package com.csdn.mymvc.annotation; import java.lang.annotation.*; Target(ElementType.PARAMETER) Retention(RetentionPolicy.RUNTIME) Inherited public interface RequestHeader { }2、DispatcherServlet package com.csdn.mymvc.core; import com.csd…

ssm+vue的项目管理平台(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频: ssmvue的项目管理平台(有报告)。Javaee项目,ssm vue前后端分离项目。 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 项目介绍…

list部分接口模拟实现(c++)

List list简介list基本框架list构造函数list_node结构体的默认构造list类的默认构造 push_back()iteartor迭代器迭代器里面的其他接口const迭代器通过模板参数实现复用operator->() insert()erase()clear()析构函数迭代器区间构造拷贝构造operator() list简介 - list可以在…

用友NC Cloud accept.jsp接口任意文件上传漏洞复现 [附POC]

文章目录 用友NC Cloud accept.jsp接口任意文件上传漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 用友NC Cloud accept.jsp接口任意文件上传漏洞复现 [附POC] 0x01 前言 免责声明&#xff1a…