首页 > 其他分享 >记录一个 qt+cmake 项目不生成 ui_xxx.h 文件的问题

记录一个 qt+cmake 项目不生成 ui_xxx.h 文件的问题

时间:2023-09-04 19:55:39浏览次数:55  
标签:CMake qt xxx ui cmake include

最近做一个 Qt 的项目的代码迁移到新平台,遇到一个问题。这个项目使用的 CMake 构建脚本,项目中的某个ui文件怎么都不能生成 对应的ui_xxx.h文件,其他的文件都没有问题,使用qmake构建也没有问题。

经过排查,问题原因如下:

#include"ui_xxx.h"

上面 #include和后面的头文件之间没有空格。

CMake 使用下面的函数调用来实现ui文件的查找。

Uic_.RegExpInclude.compile("(^|\n)[ \t]*#[ \t]*include[ \t]+"
                           "[\"<](([^ \">]+/)?ui_[^ \">/]+\\.h)[\">]");

也就是#include和后面的头文件之间必须要一个或多个空格或者Tab符,否则就匹配不上。

参考资料

下面的链接中是一些相关的资料,包括其他原因导致的不生成ui_xxx.h头文件的情况。

标签:CMake,qt,xxx,ui,cmake,include
From: https://www.cnblogs.com/oloroso/p/17677944.html

相关文章

  • QT/MFC课程设计参考选题[2023-09-04]
    QT/MFC课程设计参考选题[2023-09-04]课程设计参考选题课程设计作为课程所学内容的实践,要求采用面向对象系统分析与设计方法,首先对问题进行需求分析,识别类与对象,设计合理的类结构与程序结构实现程序功能(恰当应用教材所介绍的各种数据结构和算法),用C++语言编写程序;然后设计各种可能......
  • QT枚举类型的使用
    QT枚举类型的使用测试将这个枚举放在头文件外面,Q_ENUM也不可以引用,这个限制有点奇葩,引用另一个头文件定义的枚举类型也不行.h头文件enumTetrixShape{NoShape,ZShape,SShape,LineShape,TShape,SquareShape,LShape,MirroredLShape};Q_ENUM(......
  • centos下手动编译Qt应用程序
    centos7下手动编译Qt5的程序需要Qt5的源代码编译出Qt5在linux下的可执行环境,怎么编译这个以后再说我这里编译的版本是5.9.9然后,将这个环境拷贝到centos某个目录下,我放到主目录下设置环境变量编写一个文本文件叫qt-5.9.9-env,内容是exportPATH=/home/fan/qt-5.9.9/bin:$PATHe......
  • 理解Qt中的setViewport和setWindow
    概念相关Qt的2D变换中有逻辑坐标(窗口)和物理坐标(视口)划重点:窗口(逻辑坐标)与视口(物理坐标)的关系:窗口的四个角会映射到视口的四个角,它们四个角之间一一对应,两者的比例是1:1。它们默认的状态下,逻辑坐标和物理坐标都是一一对应的,起始点都是(0,0),长度高度也一致即两者重合,对应......
  • 小谈Qt的坐标系系统 - 3个坐标系,2个变换
    小谈Qt的坐标系系统Qt中有三个坐标系设备坐标系窗口坐标系逻辑坐标系设备坐标系:即Device坐标系。也是物理坐标系。即真实的的物理坐标系。逻辑坐标系:即用户坐标系。也就是说日常大家使用Qt的时候的坐标系。窗口坐标系:这个坐标系是QPainter设置setWindow以后的一个坐......
  • QT坐标系转换(将QPainter左上角为原点的坐标系转换为正常坐标系)
    没有复杂的变换,简单转化窗口坐标系,即可按我们正常熟知的坐标系进行绘图QPainter坐标系以左上角为原点,如下图 在这样的坐标系下绘图,位置这是倒过来的QPainterm_pPainter(this);   m_pPainter.setBrush(Qt::yellow);   m_pPainter.drawRect(0,0,50,50);   m......
  • VS+Qt工具vsaddin
    1.https://download.qt.io/official_releases/vsaddin/2.ToolsExtensions-VisualStudio 安装:C:\xxxx\VSIXInstaller.exexxx.vsix......
  • 【Qt初入江湖】Qt QSqlQueryModel 底层架构、原理详细描述
    鱼弦:全栈领域创作新星创作者、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen) QtQSqlQueryModel是Qt中用于实现自定义SQL查询的模型类,它继承自QAbstractTableModel。QSqlQueryModel封装了对数据库查询结果的处理,可......
  • 【Qt初入江湖】Qt QSqlRelationalDelegate 底层架构、原理详细描述
    鱼弦:全栈领域创作新星创作者、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen) Qt的QSqlRelationalDelegate类是用于在Qt模型/视图框架中使用带有外键关系的数据库表格数据的委托类。它提供了一组用于在表格视图......
  • cmake 命令行带参数
    CMake命令行可以带有一些参数,用于控制和配置CMake的行为。这些参数可以在执行cmake命令时传递给CMake。以下是一些常用的CMake命令行参数:-D:用于设置CMake变量。例如,-DVAR_NAME=VALUE可以设置一个CMake变量的值cmake-DVAR_NAME=VALUEpath_to_source_directory-G......