Qt工程pro文件配置详解

2023-05-16

文章目录

  • 1 pro文件常用配置
    • 1.1 注释
    • 1.2 CONFIG
    • 1.3 DEFINES
    • 1.4 FORMS
    • 1.5 HEADERS
    • 1.6 INCLUDEPATH
    • 1.7 LIBS
    • 1.8 QT
    • 1.9 SOURCES
    • 1.10 TRANSLATIONS
    • 1.11 TARGET

1 pro文件常用配置

Qt 使用 qmake 构建工具来构建工程,作用和 cmake 一样,生成 Makefile。Qt 的 pro 文档则对应 cmake 的 CMakeLists.txt。

下面讲解一下 pro 文档各个参数的意义和用法。

1.1 注释

以“#”开始,到这一行结束。快捷键:Ctrl + /。

1.2 CONFIG

指定编译器选项和项目配置,值由 qmake 内部识别并具有特殊意义。

比如:CONFIG += c++11。

1.3 DEFINES

qmake 添加这个变量的值作为编译器 C 预处理器宏(-D 选项)。

例如:DEFINES += USE_MY_STUFF

1.4 FORMS

指定UI文件(参考: Qt Designer Manual)在编译前被 uic 处理。所有的构建这些 UI 文件所需的依赖、头文件和源文件都会自动被添加到项目中。

例如:

FORMS = mydialog.ui \
mywidget.ui \
myconfig.ui

1.5 HEADERS

指定项目中所有的头文件。qmake 会自动检测是头文件的类中是否需要 moc,并增加适当的依赖关系和文件到项目中,来生成和链接 moc 文件。

例如:

HEADERS = myclass.h \
login.h \
mainwindow.h

moc 全称是 Meta-Object Compiler,也就是“元对象编译器”。Qt 程序在交由标准编译器编译之前,先要使用 moc 分析 C++ 源文件。如果它发现在一个头文件中包含了宏 Q_OBJECT,则会生成另外一个 C++ 源文件。这个源文件中包含了Q_OBJECT 宏的实现代码。这个新的文件名字将会是原文件名前面加上 moc_ 构成。这个新的文件同样将进入编译系统,最终被链接到二进制代码中去。因此我们可以知道,这个新的文件不是“替换”掉旧的文件,而是与原文件一起参与编译。另外,我们还可以看出一点,moc 的执行是在预处理器之前。因为预处理器执行之后,Q_OBJECT 宏就不存在了。

1.6 INCLUDEPATH

指定编译项目时应该被搜索的#include 目录。
例如:
INCLUDEPATH = c:/msdev/include d:/stl/include
如果路径包含空格,需要使用引号包含。

win32:INCLUDEPATH += "C:/mylibs/extra headers"
unix:INCLUDEPATH += "/home/user/extra headers"

1.7 LIBS

指定链接到项目中的库列表。如果使用 Unix -l (library) 和 -L (library path) 标志,在
Windows 上 qmake 正确处理库(也就是说,将库的完整路径传递给链接器),库必须存在,qmake 会寻找-l 指定的库所在的目录。
例如:

win32:LIBS += c:/mylibs/math.lib
unix:LIBS += -L/usr/local/lib -lmath(libmath.a)

1.8 QT

指定项目中使用 Qt 的模块。
默认情况下,QT 包含 core 和 gui,以确保标准的 GUI 应用程序无需进一步的配置就可以构建。如果想建立一个不包含 Qt GUI 模块的项目,可以使用“ -=”操作符。

下面一行将构建一个很小的 Qt 项目:
QT -= gui # 仅仅使用 core 模块
如果要创建一个界面,里面用到 XML 及网络相关的类,那么需要包含如下模块:
QT += core gui widgets xml network

1.9 SOURCES

指定项目中所有源文件。
例如:

SOURCES = myclass.cpp \
login.cpp \
mainwindow.cpp

1.10 TRANSLATIONS

指定包含用户界面翻译文本的翻译(.ts)文件列表。

例如:
TRANSLATIONS += chinese.ts english.ts

1.11 TARGET

指定目标文件的名称。默认情况下包含的项目文件的基本名称。
例如:

TEMPLATE = app
TARGET = myapp
SOURCES = main.cpp
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt工程pro文件配置详解 的相关文章

  • macbook pro 识别不到外接显示器

    背景 最近在公司和家都用到外接显示器 回到家后合上mac 外接也跟着没信号了 重启后直接不识别了 机型macbookpro15 2018 系统版本10 15 4 1 确保 线材 外接显示器都没有问题 找其他电脑测试 2 不勾选 再次登录时重
  • [Android Pro] UI设计师不可不知的安卓屏幕知识

    reference to http www android100 org html 201505 24 149342 html 不少设计师和工程师都被安卓设备纷繁的屏幕搞得晕头转向 xff0c 我既做UI设计 xff0c 也做一部分安卓界面
  • 小米pro15拆机_小米pro拆机图解(8步)

    小米pro2年前买的 从一开始的血妈亏到用到后面的越来越香的用户体验 当然 也是有个槽点的 就是风扇的问题啦 昨天工具到了 在朋友的协助下踩坑清灰成功完特水一篇文章来过一遍 写在前面 a 机型 MI pro i5版 b 用到的工具 c 最好
  • 红米K40 Pro+5G手机出现电量显示故障的修复

    前两天的某天早晨 xff0c 插了一夜充电器的红米手机电量竟然依然是27 xff0c 比昨晚充电时更少了 摸摸手机也凉凉的 xff0c 看来充电器并未工作 然后就心慌慌的带着手机开了省点模式去上班 xff0c 一路上正常 到了单位后 xff
  • linux远程桌面没有声音,远程桌面到 Windows 10 Pro 上的远程麦克风问题

    想从常用笔记本里远程桌面到另一台电脑上的 Windows 10 Pro 进行测试 遇到一些坑 xff0c 最大的问题比如客户端 DPI 高而导致远程桌面显示的字太小 xff0c 无法将本地的麦克风作为远程桌面上应用程序的声音输入 xff0c
  • 安装VMware Workstation Pro 16 教程,Ubuntu 18 桌面版安装教程

    目录 1 VMware Workstation 16 Pro 安装教程 2 Ubuntu 18 桌面版安装教程 1 VMware Workstation 16 Pro 安装教程 1 第一步 xff1a 到官网进行下载软件 xff0c 下载
  • ant design vue pro 面包屑移至最顶上

    ant design vue pro 面包屑移至最顶上显示 xff0c 如图 操作如下 xff1a 1 在src layouts BasicLayout vue 中 lt pro layout 中加入如下代码 lt template v s
  • Mac Pro安装Python3

    用brew install python3报错 xff1a curl 7 Failed to connect to raw githubusercontent com port 443 Operation 问题解决 xff1a https
  • Ominibus F4V3 Pro飞控原理图和接线图

    Ominibus F4V3 Pro飞控接线图如下图所示 部分实物接线图如下 注意上图中 xff0c 电流计入口 描述是错误的 xff0c 最形象的是第一个接线图 xff0c 那里表的很清楚 电源这块接线为电池接线到飞控板上的电池 43 和电
  • Pro Git Notes

    This post include notes to Pro Git book Git Introduction Git is a Distributed Version Control Systems DVCSs Clients full
  • 配置Qt中pro、pri文件

    002helloWorld pro span class token macro property span class token directive hash span span class token directive keywor
  • Qt pro文件详解

    文章目录 pro文件中的配置信息QT配置项 已剪辑自 http c biancheng net view vip 9661 html 默认情况下 xff0c 每个 Qt 项目都包含一个后缀名为 pro 名称和项目名相同的文件 xff0c 我
  • MacBook Pro休眠掉电、耗电量大问题解决方案

    1 前言 最近我的2015mbpMacBook Pro Retina 13 inch early 2015 更新完10 14系统后 xff0c 发现休眠待机一晚上后能掉5 电 xff0c 白天待机4 5小时又掉了8 然而在此之前我记得休眠是
  • 新款 2018款macbook Pro 装双系统教程

    首个阅读量将破万的文章 xff0c 感谢支持 防止无良爬虫 xff0c 开头附上原文链接 xff1a http www cnblogs com xueyudlut p 7498115 html 分割线 苹果笔记本的确高大上 xff0c 外观
  • 将Origin Pro设置成中文显示

    Origin Pro设置成中文显示 在键盘上同时按 win 43 R 键 xff0c 输入 regedit xff0c 点击 确定 找到路径 HKEY CURRENT USER SOFTWARE OriginLab Origin xff0c
  • qt打开项目,只有pro文件其它文件消失:-1: error: msvc-version.conf loaded but QMAKE_MSC_VER isn‘t set

    之前在电脑打开开发的项目 xff0c 突然今天打开突然只有pro文件其它文件消失了 xff0c 在文件管理器里面找也都还有 打开项目只剩下蓝色框里面的 网上查了一些资料 xff0c 发现是开发程序事qt的版本不同所导致 解决方法 点开项目
  • qt程序的CMakeLists.txt配置转为平台的qt的.pro项目工程文件

    参考这个 跨平台qt程序的CMakeLists txt配置转为平台的qt的 pro项目工程文件 谁能懂我2011的博客 CSDN博客 一些比较正规的跨平台qt项目没有 pro项目文件只有CMakeLists txt文件 xff0c 如果要编
  • Macbook pro/air 2013 late -2014 使用转接卡更换NVME SSD休眠不醒问题的解决办法

    2021年1月更新 xff0c 发现升级 big sur 11 1之后 xff0c 固件版本变成了429 0 0 0 睡眠问题又回来了 xff0c 每次都睡死 xff0c 不醒 于是我按老办法 xff0c 把mbp114的nvme驱动刷到m
  • MacBook Pro(M1)安装mysql

    1 下载 网址 xff1a mysql com 2 选择社区版本 3 MySQL Community Server 版本 兼容性说明 xff1a 适配 macOS 10 15 版本 xff0c 但上面有说明 xff0c 可运用于 Big S
  • 【BIM+GIS】ArcGIS Pro中对Revit的Rvt数据进行地理配准操作

    在ArcGIS Pro中 打开Revit的rvt格式数据 默认是没有坐标系 且位置会放置在原点位置 0 0 在实际使用过程中 需要对rvt数据进行地理配准 包括平移 旋转等操作将bim数据放置在正确的位置 文章目录 一 加载BIM数据 二

随机推荐

  • 用自己的设备跑各种VI-SLAM算法(1)——VINS/PL-VINS/ROVIO/MSCKF

    用自己的设备跑各种VI SLAM算法 xff08 1 xff09 1 VINS Fusion2 PL VINS3 ROVIO4 MSCKF 本人用的设备是一个海康单目相机和一个MTI惯导 xff0c 已经预先用kalibr工具标定了内外参
  • 【语言-汇编】自然常数(e)的计算

    原理介绍 它就是当 时函数 值的极限 即 xff1a 同时它也等于 计算结果 编译平台 xff1a Microsoft Visual Studio 2010 项目 xff1a Win32项目 空项目 CPU xff1a Intel R Co
  • 从零学习VINS-Mono/Fusion源代码(三):IMU预积分公式推导

    本节学习IMU预积分 xff0c 推导离散时间下的IMU预积分公式 xff0c 并解读相应代码 VINS Mono Fusion代码学习系列 xff1a 从零学习VINS Mono Fusion源代码 xff08 一 xff09 xff1a
  • 从零学习VINS-Mono/Fusion源代码(六):后端优化

    本节解析VINS后端优化 xff0c 包括优化变量 残差约束的构建 xff0c ceres求解器等 VINS Mono Fusion代码学习系列 xff1a 从零学习VINS Mono Fusion源代码 xff08 一 xff09 xff
  • TX2配置RealSense D455相机SDK和ros驱动

    TX2配置RealSense D455相机SDK和ros驱动 1 SDK安装2 RealSense ros安装3 bug及解决3 1 realsense viewer显示usb2 13 2 Could not found ddynamic
  • C++中:和::的含义与区别

    前言 xff1a 相信大多数读者和我一样在C 43 43 中总是分不清 xff1a 和 xff1a xff1a 的区别 xff0c 现在 xff0c 咱们就彻底解决它 一 1 类作用域操作符 指明了成员函数所属的类 如 xff1a M f
  • Nuttx驱动(一)简介

    第一次写Nuttx系统的驱动 xff0c 用惯了rt thread FreeRTOS等RTOS或裸机的驱动编写 写Nuttx驱动感觉好蹩脚 xff0c 顺便记录一下 xff08 by the way 先完成 xff0c 再完善 xff09
  • Nuttx驱动(二)实例

    接上一篇文章 xff0c 这篇主要是nuttx驱动编写实践部分 基础部分请移驾 Nuttx驱动 xff08 一 xff09 简介 Nuttx驱动例程 在该例程中 xff0c 假设有这么一个设备 xff1a 有3个IO输出和一个IO输入的RG
  • 【转】CAN总线学习笔记(1)- CAN基础知识

    依照瑞萨公司的 CAN入门书 的组织思路来学习CAN通信的相关知识 xff0c 并结合网上相关资料以及学习过程中的领悟整理成笔记 好记性不如烂笔头 xff0c 加油 xff01 1 CAN的一些基本概念 1 1 什么是CAN总线 CAN 是
  • git如何找回本地被覆盖的代码

    1 方法1 git reflog 查看提交记录 xff0c 找到对应的commitId git reset hard 版本号 就回到当时的那个版本 xff08 git reset hard HEAD 64 n xff09 2 git pul
  • PID入门及无人机实战

    一 PID的理论知识 大家可以搜索 PID控制算法的C语言实现 绝对的好东西 很好的入门材料 下图就是从上面摘下来的PID控制流程图 二 利用温控讲解单环PID 我们可以在电路板上焊几个电阻进行加热 xff08 PWM控制加热速度 xff0
  • 无人机姿态解算_互补滤波(1)

    一 基础知识 1 坐标系 xff1a 遵循右手定则 1 1 大地坐标系 xff08 地球坐标系 xff09 xff1a 北 xff08 x轴 xff09 东 xff08 y轴 xff09 地 xff08 z轴 xff09 xff0c 地就是
  • C++从入门到进阶的系列书籍推荐

    目录 1 C 43 43 入门书籍 1 1 C语言程序设计 xff08 谭浩强 xff09 1 2 C 43 43 Primer中文版 xff08 第5版 xff09 2 VC 43 43 MFC书籍 2 1 VC 43 43 深入详解 x
  • 无人机姿态解算_扩展卡尔曼滤波(2)

    一 扩展卡尔曼滤波 KF和EKF的公式对比 xff08 基本没差别 xff09 二 扩展卡尔曼五个公式 利用扩展卡尔曼滤波估计四元数 下图是论文中的截图 可以和前面的卡尔曼滤波估计高度文章的那五个公式对应一下 观测矩阵的确定 三 代码的实现
  • 无人机高度估计_卡尔曼滤波

    一 卡尔曼滤波公式 线性系统的离散状态空间表达式 xff1a 这是卡尔曼五个标准公式的基础 式叫做系统状态方程 xff1a xk k时刻系统状态变量值 Ak 状态转移矩阵 Bk 控制矩阵 uk 1 k 1时刻系统的输入 wk 1 k 1时刻
  • 日常记录4_pixhawk电流计的使用

    1 实物图以及连接 注意事项 接电流计的时候 xff0c 先别给电流计通电 xff0c 要先接负载 xff08 即接到飞机那一端 xff09 再给电流计供电 xff0c 不然空载的时候 xff0c 电池给电流计的电流会很大 xff0c 导致
  • Android中的ListView

    文章目录 1 ListView概述2 适配器2 1 ArrayAdapter2 2 SimpleAdapter2 3 BaseAdapter 1 ListView概述 下面看一下ListView的应用场景 xff1a 2 适配器 先看下适配
  • Android中的ViewPager2

    文章目录 1 ViewPager2简介1 1 ViewPager2应用场合1 2 ViewPager2应用背景 2 应用案例2 1 图片轮播2 2 导航 1 ViewPager2简介 1 1 ViewPager2应用场合 ViewPager
  • Qt界面语言国际化

    文章目录 1 Qt界面语言国际化1 1 操作步骤 1 Qt界面语言国际化 1 1 操作步骤 操作步骤如下 xff1a 生成TS文件 xff08 LUPDATE xff09 编辑TS文件 xff08 LINGUIST xff09 发布TS文件
  • Qt工程pro文件配置详解

    文章目录 1 pro文件常用配置1 1 注释1 2 CONFIG1 3 DEFINES1 4 FORMS1 5 HEADERS1 6 INCLUDEPATH1 7 LIBS1 8 QT1 9 SOURCES1 10 TRANSLATIONS