1. ##############################################################################
  2. # CMake
  3. ##############################################################################
  4.  
  5. cmake_minimum_required(VERSION 3.10)
  6. project(test_project VERSION 0.1)
  7.  
  8. set(CMAKE_INCLUDE_CURRENT_DIR ON)
  9. set(CMAKE_CXX_STANDARD 11)
  10. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  11.  
  12. ##############################################################################
  13. # Catkin
  14. ##############################################################################
  15.  
  16. find_package(catkin REQUIRED COMPONENTS
  17. qt_build # qt_build provides the qt cmake glue
  18. roscpp
  19. sensor_msgs
  20. cv_bridge
  21. rosbag
  22. camera_image_msgs
  23. )
  24.  
  25. include_directories(
  26. include
  27. ${catkin_INCLUDE_DIRS}
  28. )
  29.  
  30. catkin_package(
  31. CATKIN_DEPENDS qt_build roscpp sensor_msgs cv_bridge rosbag camera_image_msgs
  32. )
  33.  
  34. ##############################################################################
  35. # Qt Environment
  36. ##############################################################################
  37. set(CMAKE_AUTOUIC ON)
  38. set(CMAKE_AUTOMOC ON)
  39. set(CMAKE_AUTORCC ON)
  40.  
  41. # set(CMAKE_PREFIX_PATH "/home/dengjh/Qt/5.15.2/gcc_64")
  42.  
  43. set(ModuleList
  44. Core
  45. Gui
  46. Widgets
  47. Network
  48. Concurrent
  49. )
  50.  
  51. foreach(QtModule ${ModuleList})
  52. # set(Qt5${QtModule}_DIR ${CMAKE_PREFIX_PATH}/lib/cmake/Qt5${QtModule})
  53. set(Qt5${QtModule}_DIR /home/dengjh/Qt/5.15.2/gcc_64/lib/cmake/Qt5${QtModule})
  54. set(QT_LIBRARIES ${QT_LIBRARIES} Qt5::${QtModule})
  55. endforeach()
  56.  
  57. find_package(Qt5 REQUIRED ${ModuleList})
  58.  
  59. file(GLOB QT_FORMS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ui/*.ui)
  60. file(GLOB QT_RESOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} resources/*.qrc)
  61. file(GLOB_RECURSE QT_MOC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} FOLLOW_SYMLINKS ui/*.h include/*.hpp *.h)
  62.  
  63. QT5_ADD_RESOURCES(QT_RESOURCES_CPP ${QT_RESOURCES})
  64. QT5_WRAP_UI(QT_FORMS_HPP ${QT_FORMS})
  65. QT5_WRAP_CPP(QT_MOC_HPP ${QT_MOC})
  66.  
  67. ##############################################################################
  68. # Sources
  69. ##############################################################################
  70.  
  71. file(GLOB_RECURSE QT_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} FOLLOW_SYMLINKS ui/*.cpp src/*.cpp *.cc *.cxx )
  72.  
  73. ##############################################################################
  74. # Binaries
  75. ##############################################################################
  76.  
  77. add_executable(${PROJECT_NAME} ${QT_SOURCES} ${QT_RESOURCES_CPP} ${QT_FORMS_HPP} ${QT_MOC_HPP})
  78.  
  79. add_dependencies(${PROJECT_NAME}
  80. ${catkin_EXPORTED_TARGETS}
  81. )
  82.  
  83. target_link_libraries(${PROJECT_NAME} ${QT_LIBRARIES} ${catkin_LIBRARIES})
  84.  
  85. install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})
  86.  
  87. #############################################################################
  88. # DEBUG or RELEASE
  89. #############################################################################
  90.  
  91. # 如果要生成debug版本
  92. # SET(CMAKE_BUILD_TYPE "Debug")
  93. # 如果要生成release版本
  94. # SET(CMAKE_BUILD_TYPE "Release")
  95. # 添加的支持debug和release支持
  96. # SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
  97. # SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")

Qt CMake官方教程:https://doc.qt.io/qt-5/cmake-get-started.html

ROS1 Qt5 CMake基本配置的更多相关文章

  1. windows下Qt5.1.0配置android环境搭建 good

    1.首先下载好需要配置的软件: 1>Qt 5.1.0 for Android (Windows 32-bit, 716 MB)(Info)下载地址: http://qt-project.org/ ...

  2. CMake交叉编译配置

    很多时候,我们在开发的时候是面对嵌入式平台,因此由于资源的限制需要用到相关的交叉编译.即在你host宿主机上要生成target目标机的程序.里面牵扯到相关头文件的切换和编译器的选择以及环境变量的改变等 ...

  3. cmake 查看配置选项

    cmake 查看配置选项可以用如下命令 cmake . -LH 查看help > cmake -h    cmake version 2.6-patch 4 Usage cmake [optio ...

  4. Android Studio 2.2以上支持了Cmake的配置JNI的相关参数

    Android Studio 2.2以上支持了Cmake的配置JNI的相关参数,简化了通过Android.mk配置.并很好的继承了C++的编辑方式.以下是对应的引入第三方so和第三方.cpp文件的路径 ...

  5. QT5.8+vs2015配置以及qt creater中出现中文乱码解决办法之一

    1.参考此文档:QT5.6+vs2015配置: 2.出现乱码问题时候 在头文件上加入: #pragma execution_character_set("utf-8") //加入这 ...

  6. Qt5.7.0配置选项(configure非常详细的参数)

    configure是一个命令行工具,用于配置Qt编译到指定平台.configure必须运行于Qt源码根目录.当运行configure时,编译源码使用的是所选工具链中的make工具. 一.源码目录.编译 ...

  7. vs2013+opencv2.4.11+Qt5.5.1配置

    注意本教程配置环境:win7 32位 如果只配置vs2013+opencv2.4.11,参考http://jingyan.baidu.com/article/ff411625b1311a12e4823 ...

  8. Win10 下Cmake编译配置 Opencv3.1 + Cuda7.5 + VS2013

    折腾了三天终于配置成功了,在此写下编译配置的全部步骤和遇到的很多坑. 整体介绍: OpenCV 中 CUDA 实现的函数还不是太多,使用前要在OpenCV的官网上确认以下你想要的功能是否已经实现,否则 ...

  9. cmake安装配置及入门指南

    前言 今天,从github下载代码学习,让我用cmake编译,纳尼?make我知道,cmake是啥鬼?天啊,无知很可怕!赶紧mark一波,虽然很耽误学习进度,但感觉还是要get一波! 一.安装准备 感 ...

  10. Heka 的 CMake 编译配置分析

    CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件.   CMakeLists.txt 的语法比较简单,由命令.注释和 ...

随机推荐

  1. 粘包、struct模块、进程并行与并发

    目录 粘包现象 struct模块 粘包代码实战 udp协议(了解) 并发编程理论 多道技术 进程理论 进程并行与并发 进程的三状态 粘包现象 1.服务端连续执行三次recv 2.客户端连续执行三次se ...

  2. 记一次 .NET 某安全生产信息系统 CPU爆高分析

    一:背景 1.讲故事 今天是的第四天,头终于不巨疼了,写文章已经没什么问题,赶紧爬起来写. 这个月初有位朋友找到我,说他的程序出现了CPU爆高,让我帮忙看下怎么回事,简单分析了下有两点比较有意思. 这 ...

  3. 读python代码-学到的python函数-1

    1.with open(data_path,'r') as f: with open()是python用来打开本地文件的,他会在使用完毕后,自动关闭文件,无需手动书写close(). 三种打开模式: ...

  4. [深度学习] CCPD车牌数据集介绍

    CCPD是一个大型的.多样化的.经过仔细标注的中国城市车牌开源数据集.CCPD数据集主要分为CCPD2019数据集和CCPD2020(CCPD-Green)数据集.CCPD2019数据集车牌类型仅有普 ...

  5. 旋转卡壳(求凸包直径)学习笔记 | 题解 P1452 [USACO03FALL]Beauty Contest G /【模板】旋转卡壳

    前言 旋转卡壳(Rotating Calipers)可以在凸包上维护许多有用的信息,最常见的就是凸包直径(平面最远点对). 注意:本文不介绍所谓的 "人类智慧" 乱搞做法. 算法流 ...

  6. 一、tcp三次握手

    (1)首先客户端向服务器端发送一段tcp报文,其中标志位为SYN,表示"请求创建新连接"序列号为sqe=x,随后进入SYN_SEND状态 (2)服务器端接受到客户端发送的tcp报文 ...

  7. 刺激,线程池的一个BUG直接把CPU干到100%了。

    你好呀,我是歪歪. 给大家分享一个关于 ScheduledExecutorService 线程池的 BUG 啊,这个 BUG 能直接把 CPU 给飚到 100%,希望大家永远踩不到. 但是,u1s1, ...

  8. 图文并茂的学习笔记--微信小程序自定义tabbar

    我发现自带的那个tabbar不可以修改样式,没得搞啊,这不行,要改 首先,我们看文档,地址在下面 https://developers.weixin.qq.com/miniprogram/dev/fr ...

  9. C#开发PACS医学影像三维重建(十四):基于能量模型算法将曲面牙床展开至二维平面

    在医学影像领域中,将三维重建中的人体组织展开平铺至二维,用来研判病灶和制定治疗方案的重要手段之一, 它能够将立体曲面所包含的信息更为直观的展示到二维平面上,常用的情景包括: 牙床全景图.平铺血管.骨骼 ...

  10. 定时调度插件------Longbow.Tasks

    官网地址Longbow.Tasks 使用说明 dll引用 使用NuGet 搜索Longbow.Task可找到相关版本的dll 目前最新的为7.0.0版本,需net6.0+ 如果低版本用户可使用5.2. ...