强制 QtCreator 在构建时运行“qmake”

2024-03-11

在我的一些项目中,我使用 .pro 文件中配置的一些预构建步骤。所以qmake每当激活时都会执行此步骤。

现在在 QtCreator 中,当我构建时(也是完全重建整个项目时),它并不总是运行qmake,因为它试图变得聪明并优化它。它仅在 .pro 文件更改时运行它,从而导致多个问题。

另外一个常见的问题是,当你创建一个继承自 QObject 的类时after在该文件上运行 qmake,它不会注意到它,因此not run moc在上面。此类问题只需手动运行即可解决qmake通过 QtCreator 中的“构建”菜单。但如果我忘记了这一点,我有时会对因此而得到的编译错误感到困惑,这真的很烦人。

(如何)我可以强制 QtCreator 执行此步骤吗always构建项目时?

我考虑过添加 qmake 作为构建步骤在项目配置中,但这似乎是解决此问题的肮脏黑客。


另一个肮脏的黑客,但更灵活一点:在 Linux/Mac 上添加“touch yourprojectfile.pro”作为构建步骤或分配外部工具调用。就像 touch "*.pro" 在当前项目工作目录中运行。当 pro 文件被更改(通过 touch 模仿)时,将执行 qmake。不是很干净,但是外部工具加热键解决方案比将 qmake 添加到每个项目的构建步骤中更灵活。

更新: 我终于找到了一个完全令人满意的解决方案。 在 pro 文件中添加:

  qmakeforce.target = dummy
  qmakeforce.commands = rm -f Makefile ##to force rerun of qmake
  qmakeforce.depends = FORCE
  PRE_TARGETDEPS += $$qmakeforce.target
  QMAKE_EXTRA_TARGETS += qmakeforce

这会删除生成的 Makefile,从而强制 qmake 为每个构建重新运行。

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

强制 QtCreator 在构建时运行“qmake” 的相关文章

  • QDataWidgetMapper 无法与 QLabels 一起使用

    我正在使用 QDataWidgetMapper 将数据映射到 QLineEdit 它工作正常 当我用于将数据映射到 QLabel 时 它不会在标签中显示任何数据 我尝试按以下方式执行此操作 QDataWidgetMapper testMap
  • qmake 中的 debug_and_release 配置功能有什么优点?

    我只能看到未来的一个优点 我们能够发行make all commad 好吧 我不打电话make在我的开发人员生命中的任何阶段 我使用 Qt Creator 当我构建项目时 我希望它严格作为调试或发布 我想这是人们预期的行为 But debu
  • 在 Qt、QtCreator 和 QMake 中配置 GCC 编译器开关

    我最近尝试使用Qt创建者 http en wikipedia org wiki Qt CreatorWindows 7 64 位 上的 1 3 2 Qt 4 6 2 和 GCC 4 4 0 32 位版本 使用一些实验性 C 0x 扩展来编译
  • CMake Qt UIC 失败

    我目前正在将我的项目从 qmake 移植到 CMake 并且我遇到了 Qt UIC 的问题 它尝试处理不存在的 UI 文件 而不是我希望它处理的实际文件 我有以下文件层次结构 CMakeLists txt MyProject pro mai
  • Qt5参考文档:qch文件

    我想在 QtAssistant 中查看 Qt 参考文档 但是 Qt5 的安装没有附带 Qt 库的 qch 文档文件 我试图在http qt project org http qt project org但到处都找不到它们 如何获取 Qt5
  • 如何使用CMake检测目标架构?

    我已经做了很多研究 但无法找到答案 我如何使用 CMake 可靠地找到我正在编译的目标架构 基本上相当于qmake中的QMAKE TARGET arch 大多数来源似乎建议使用 CMAKE SYSTEM PROCESSOR 但这是一个糟糕的
  • centos7中的Qt版本

    我使用的是centos 7 要检查安装的qt版本 我使用命令qmake version返回 Qmake version 1 07a Qt 3 3 8b Qmake is free software from Trolltech ASA 但是
  • Qt Creator 需要设置编译器才能构建。在套件选项中配置编译器

    我已经安装了 Qt Creator5 和最新的二进制文件 但是当我运行任何程序时 它会给我这个错误 1 错误 Qt Creator 需要设置编译器才能构建 在套件选项中配置编译器 我已经在整个互联网上搜索了答案 但它不够充分并且没有帮助 请
  • MinGW 调试模式下 Qt 应用程序启动缓慢

    我在 Win 7 上使用 Qt Creator 3 1 1 和 Qt 5 3 如果设置了 2 个套件 VC2013 和 MinGW 4 8 1 我的应用程序可以编译 并且可以与两个编译器一起使用 但是当我以 MinGW gdb 调试模式启动
  • “环境变量 PYSIDE_DESIGNER_PLUGINS 未设置,正在退出。”

    我已经安装了开源 qt Creator 免费版本 并创建了非常简单的桌面应用程序 我能够创建简单的窗口 但是当我运行时 出现以下错误 我尝试关注此页面 但无法理解如何解决此问题 https www qt io blog qt for pyt
  • iOS 版 QtCreator:如何使用我的应用程序部署 dylib 共享库

    我在 iOS 上部署动态共享库时遇到了困难 为了隔离和暴露问题 我有一个非常简单的 HelloWorld 项目 一个库导出类 其中包含返回 Hello World 的函数 以及一个使用该类并显示消息的程序 我正在使用 QtCreator 和
  • 从 Qt 中的 pro 文件获取值

    我在 Windows XP 中使用 Qt 4 5 我的 pro 文件有变量VERSION 1 0 现在我需要读取这个变量并获取它的值 1 0 来自源代码 这样我就不必在源代码中维护版本的另一个变量 我刚刚读取了 pro 文件并更新了它 这样
  • QT-creator 中架构 x86_64 的未定义符号

    我刚刚开始使用 C 正在学习如何使用 QT 创建者作为 IDE 所以我怀疑这可能非常简单 但我可能会遗漏一些东西 我安装了apollo MQ并安装了apache CMS C 消息服务 http activemq apache org cms
  • 以编程方式设计 GUI - 嵌套布局和多个小部件 (Qt) 的良好实践

    我有兴趣更好地理解Qt为此我想see 如何仅以编程方式完成嵌套布局和多个小部件 GUI 的相对复杂示例 即不使用 Qt Creator 的设计 我见过几个示例代码仅演示非常简单的布局 并且几乎总是不使用头文件 事实上我见过的大多数例子 du
  • 缺少 mingwm10.dll

    我正在使用 Qt Creator 编写一个 C 项目 一切工作正常 调试 发布 但是当我直接运行编译后的 exe 转到 exe 文件并运行它 时 它说 mingwm10 dll 丢失 对于这个问题我能做什么 您可以执行以下操作 as cha
  • 安装 PyQt

    我正在尝试在我的 mac 上安装 PyQt 以便可以安装 python Ghost 我已经安装了Qt和SIP 我已经下载了 PyQt 但是当我运行时 python configure ng py 我收到以下错误 Error Use the
  • Qt for Android:无法签署应用程序的发布版本

    我正在使用 Qt 5 13 和 Qt Creator 4 9 2 我可以成功构建 Android 应用程序的调试版本 但是当我尝试编译发布版本时 我得到 16 57 35 过程 opt Qt 5 13 0 android armv7 bin
  • 使用 KDE Kirigami 时未找到 QML 模块

    所以我决定在我的应用程序中使用 KDE Kirigami UI 框架 所以我按照说明进行操作here https api kde org frameworks kirigami html index html 我将存储库克隆到我的应用程序目
  • 程序意外完成 - QT Creator

    我正在尝试使用 QT Creator 使用 QT 框架开发 GUI 控制台应用程序 我使用的是Windows XP 我安装了QT 4 8 3和mingw 两者均已安装 没有任何错误 然后我安装了QT Creator QT 版本 路径中的 Q
  • QtCreator 调试暂停停在代码而不是汇编处

    如何配置 QtCreator 以便在调试并按下暂停时它会显示当前正在处理的代码 现在显示汇编 无法在任何地方找到有关此问题的答案 我使用的是 Windows 7 我在 Ubuntu 16 04 中使用 Qt Creator 4 2 2 时遇

随机推荐

  • Eclipse 中的 Maven 插件“标记无效”(Mars - 4.5.0)[重复]

    这个问题在这里已经有答案了 我有一个新创建的 Maven 项目 并将其导入到 Eclipse 中 Eclipse 抱怨其中一个插件
  • 使用 v-for 时的 Vue.js 资源文件路径

    我刚刚开始使用 Vue js 在加载静态图像 例如我的徽标 时访问资产文件夹非常简单 img src assets logo png 但是 我使用 v for 使用示例数据创建多个列表项 这是我的模板 ul li img h2 class
  • 如何在iOS sdk中使用正则表达式

    如何在iOS sdk中使用正则表达式 我需要验证UITextField使用正则表达式只允许数值进入UITextField 在你的 shouldChangeCharactersInRange 中你可以这样做 BOOL textField UI
  • 使用 Swift 访问 iOS 地址簿:数组计数为零

    我正在尝试编写一个简单的方法来要求用户访问他们的地址簿 然后打印出地址簿中每个人的姓名 我看过很多教程解释如何在 Objective C 中做到这一点 但我很难将它们转换为 swift 这是我到目前为止所做的事情 下面的块在我的 viewD
  • 如何创建 NSDate 日期对象?

    我怎样才能创建一个NSDate从日 月 年开始 似乎没有任何方法可以做到这一点 他们已经删除了类方法dateWithString 他们为什么要那样做 您可以为此编写一个类别 我这样做了 代码如下 NSDateCategory h impor
  • ' aria-label='如果页面的 url 带有 '#' 且嵌入了 flash/swf,IE 标题将更改为 '> 如果页面的 url 带有 '#' 且嵌入了 flash/swf,IE 标题将更改为

    问题是 如果 IE 6 0 嵌入了 Flash 内容 并且页面的 url 中某处有 那么当 Flash 内容加载时 或者如果用户与其交互 则标题窗口中 更改为散列后的内容 e g http adobeflashwebsite com ind
  • C# WCF插件设计与实现

    我想得到一些建议 我正在开发一个系统 该系统将在运行时加载插件并要求它们通过 WCF 端点可用 我将有一个仅真正用于配置的 MVC 3 Web 应用程序 以及一个将加载不同插件的类库 核心 我希望得到一些有关如何解决此问题的指导 我想加载该
  • 为什么 readObject 和 writeObject 是私有的,为什么我要显式写入瞬态变量?

    我正在阅读有关序列化的章节有效的Java 谁调用了 readObject 和 writeObject 为什么这些方法被声明为私有 下面是书中的一段代码 StringList with a reasonable custom serializ
  • 服务器监听多个端口 [Java]

    我试图弄清楚如何创建一个 java 程序 该程序可以侦听多个端口并根据客户端通话的端口执行不同的操作 我已经看到并理解了基本的客户端 服务器程序 http systembash com content a simple java tcp s
  • LINQ 在类项目上不同?

    注意这个问题是类似的this one https stackoverflow com questions 741299 linq to sql distinct with anonymous types但我不使用 linq to sql 因
  • 拖放生成 XSLT 以将 XML 显示为 HTML?

    我搜索并浏览了 XSLT 问题 并查看了 Altova 的产品 但还没有查看 Stylus 的产品 我不想再听到 XSLT 很复杂且难以手动编码 HTML 刚开始流行时就是这样 我知道 苹果和橘子的比较 因为 XSLT 是一种处理语言 而
  • 如何将变量传递给 Pug 的 `script.` 块?

    我的代码中有这个代码index pug file doctype html html head title title body script src source script for var event of events VClien
  • Cordova 在没有 Ionic 的设备上热重载

    我使用 Cordova 没有 Ionic 或任何其他框架 我的问题是 如果不使用 Ionic 我找不到 Cordova 的任何热重载功能或插件 有没有什么解决方案可以在没有任何框架的情况下在iOS模拟器上实时重新加载 我在 Cordova
  • 我需要有关 MKMapView 崩溃的帮助

    我的实时应用程序最常见的崩溃之一是 MKMapView 崩溃 它在内部方法崩溃 MKMapView mapTileViewDidFinishLoading 在我的测试过程中 我无法追溯崩溃 但在 iTunes Connect 的崩溃报告中非
  • AFNetworking - 如何发出 POST 请求

    编辑 07 14 正如比尔 伯吉斯 Bill Burgess 在他的回答的评论中提到的 这个问题与version 1 3 of AFNetworking 对于这里的新人来说可能已经过时了 我对 iPhone 开发还很陌生 我使用 AFNet
  • 无法捕获 Win32Exception

    因此 我在实体框架 任何 事务期间收到 Win32Exception 数据库机器已离线 因此这是可以预料的 这是一个监控应用程序 所以我想记录机器不可用 但它没有捕获错误 错误是 Elmah 报告 System ComponentModel
  • Vue devServer 代理没有帮助,我仍然收到 CORS 错误

    我正在使用 vue cli 3 x 并且在我的 vue config js 中我有这个 devServer proxy api ws true changeOrigin true target http localhost 8080 但我不
  • 为什么java中的构造函数不被继承?

    我是java编程语言的初学者 最近我学习了构造函数java中不能继承 谁能解释一下why 我已经读过这个链接 https stackoverflow com questions 4417797 why is inheriting const
  • 通过 IP 地址限制访问的最佳方法?

    对于 ASP NET C 应用程序 我们需要根据 IP 地址限制访问 实现这一目标的最佳方法是什么 一种方法是使用Http模块 http www codeproject com KB aspnet http module ip securi
  • 强制 QtCreator 在构建时运行“qmake”

    在我的一些项目中 我使用 pro 文件中配置的一些预构建步骤 所以qmake每当激活时都会执行此步骤 现在在 QtCreator 中 当我构建时 也是完全重建整个项目时 它并不总是运行qmake 因为它试图变得聪明并优化它 它仅在 pro