Qt 界面文件不更新以及qmake和shadow build简介

`计算机知识` `QT` pro文件, shadow_build catalog构建、shadow buildqmake注解模板templateQT目标exe文件includePathLIBS执行qmake 构建、shadow build “运行“ = 构建 + 执行exe 在不选中“shadow build“下, 你的构建: 会产生: makefile .o .pro.user .ui_xx .moc_xx exe这些文件, 会默认在你的“项目目录”里!! 你的项目目录里,是最原始的文件(.h .cpp .ui .pro) 现在都混合在一 阅读详情

独家解决办法:

选择左边编译器边框上的 “项目” 选项,然后将”构建和运行“ 中的 “shadow build ”的复选框去掉!!

重新清除和编译就OK了!!



要明确的是qmake不仅仅是可以在QT中可以使用,在其他的情况下也可以使用。实际上qmake是一个帮助在不同平台上简化编译步骤的工具,她是来自Trolltech,qmake能够自动生成Makefile 使得只需要少量的信息就可以创建相应的Makefile,qmake能用于很多的软件工程,不管该软件工程是否是用qt写的。 
qmake能生成Makefile主要是以工程文件里面的信息为基础.工程文件是开发者创建的,通常是很简单的.但是一些复杂的工程需要创建复杂的工程文件文件,qmake包含别的特性来支持qt开发.自动的包含uic和moc的编译规则.qmake也可以生成Microsoft Visual studio的工程文件而不要求开发者改变qt的工程文件。

 

在qmake之前我们会配置好qmakespec。

1.qmake

自动生成pro文件,可以手动修改

2.qmake **.pro

由pro文件生成对应的工程文件,这个要依赖qmakespec, 一般在window下面试win32-msvc,linux下面试g++

3.使用已经生成好的工程文件(本质就是一些makefile),window nmake,使用vs2008打开,linux直接使用gmake编译。

 

shadow build:把源代码和build分开,生成的makefile文件在build tree下面,而不是在源码下面。

在第2部的时候,进入相应的build tree:

qmake ../sourcecode/**.pro


Qt creator中项目的构建配置和运行设置 Qt Creator 默认使用影子构建方式(Shadow build),这种构建项目的方式是将构建过程中的中间文件和目标程序都放到独立的构建目录中,实现源代码目录和构建目录的彻底分离,这对程序源代码的发布很方便,不会将构建过程中的中间文件混杂进来。 阅读详情

相关推荐

QT5.1之Shadow build(QTcreator界面改了,但是显示的时候没有更新的问题)

昨天用QTcreator2.8.1配合QT5.1写完了一个项目,想着当时写的代码比较乱,有很多注释之类的,正式上交的代码肯定不能是这样的,所以就把原来的工程复制到另一个目录下,打算把代码整理一遍,加上注释什么的。后来在QT界面上改动了一些东西,发现重新编译执行后界面并没有更新,当时郁闷了半天,以为是qtcreator出问题了,试了好几遍都还是这样的,后来网上说是引用的界面头文件没有更新什么的,具体

cjmcp的专栏 1万+

[基础]Qt Creator 的 Shadow build(影子构建)

shadow build 什么意思,生成的exe在哪里,怎么取消

我不想说 1万+

Qt Creator新手避坑指南:从.pro文件到第一个Hello World,保姆级项目创建流程

本文为Qt Creator新手提供详细的避坑指南,从.pro文件配置到创建第一个Hello World项目,涵盖项目模板选择、基类区别、编译器设置等关键步骤。通过实战案例和常见错误解决方案,帮助开发者快速掌握Qt项目创建流程,避免常见陷阱。

weixin_33692284的博客 435

浅谈 qmake 之 shadow build

shadow build shadow build 是什么东西?就是将源码路径和构建路径分开(也就是生成的makefile文件和其他产物都不放到源码路径),以此来保证源码路径的清洁。 这不是qmake独创的东西,cmake中早就使用这个东西了   cm

1+1=10 2万+

Qt项目系统化重置指南:从构建缓存到IDE配置的完整恢复流程

在软件开发中,构建系统是连接源代码与可执行程序的关键桥梁,它负责管理编译、链接和资源处理等复杂流程。其核心原理在于通过项目定义文件(如qmake的.pro或CMake的CMakeLists.txt)描述依赖关系,由构建工具生成具体的构建指令。对于Qt这类跨平台框架,其技术价值在于通过元对象编译器(MOC)、资源编译器(RCC)等特有工具,实现了信号槽机制和资源内嵌等高级特性,显著提升了GUI开发的效率。然而,在实际工程实践中,尤其是在维护遗留项目时,开发者常会遇到因环境变更、缓存残留或配置错位导致的构建失败

weixin_34075268的博客 524

Qt Creator配置问题排查:从.pro文件到构建目录的深度解析

在C++跨平台开发中,集成开发环境的配置管理是影响开发效率的关键环节。Qt Creator作为Qt框架的官方IDE,其配置体系基于qmake构建系统,通过.pro文件定义项目结构、依赖关系和编译选项。理解配置原理有助于解决常见的编译错误和链接问题,例如环境变量冲突、第三方库路径错误等。在实际工程实践中,构建目录的缓存机制和套件配置的兼容性是高频问题源,尤其是.qmake.stash文件可能导致路径信息陈旧。掌握从清理构建缓存到检查工具链匹配的系统性排查方法,能有效提升开发流程的稳定性,确保跨平台项目在不同系

weixin_34218890的博客 221

【Qt】Qt项目qmake与编译速度过慢,如何优化.pro

qmake 速度慢是一个常见问题,特别是对于大型项目。

hqyhqyhq的专栏 671

从PyCharm+Qt Designer切换到Qt Creator:搞定信号槽自动生成的完整配置指南

本文详细介绍了从PyCharm+Qt Designer迁移到Qt Creator的完整配置指南,重点解决信号槽自动生成的核心问题。通过对比两种工具链的差异,提供项目创建、UI文件管理、信号槽机制解析及实战操作的全流程指导,帮助开发者提升Qt开发效率。

weixin_30596165的博客 516

QT--UI界面控件修改名称后,程序无法识别问题

如果开启了shadow build模式,则应删除正常编译目录及shadow build目录下的UI.h文件,再执行qmake。QT中的UI界面经过qmake会生成ui.h文件,ui.h文件的更新决定了程序内是否能识别控件。所以当修改UI界面的控件后,应立即执行一遍qmake。

chunyujing的博客 419

Qt Creator与Widgets入门:30分钟搭建C++ GUI开发环境与第一个窗口程序

图形用户界面(GUI)开发是软件工程中的重要领域,它通过可视化组件实现用户与程序的交互。其核心原理在于事件驱动编程,通过响应用户操作来更新界面状态。在C++生态中,Qt框架因其跨平台特性和成熟的工具链而成为GUI开发的主流选择,尤其适合需要高性能和原生体验的桌面应用。Qt Creator作为官方集成开发环境,提供了从界面设计到代码调试的一站式解决方案,能显著提升开发效率。经典的Widgets模块采用面向对象的设计,通过信号与槽机制优雅地解耦界面与业务逻辑,是学习C++ GUI编程的理想起点。本文将以Qt C

weixin_34234829的博客 393

Qt多版本管理与项目升级实战:从环境隔离到平滑迁移

在软件开发中,开发环境治理是保障项目稳定构建与团队协作效率的关键基础。其核心原理在于通过环境隔离与版本控制,避免依赖冲突,确保构建过程的可复现性。这一实践的技术价值在于能显著提升开发效率,降低维护成本,尤其适用于需要同时维护多个历史项目或进行技术栈迭代的场景。在跨平台GUI开发领域,Qt框架因其模块丰富、跨平台特性而被广泛应用,但不同项目对Qt版本的需求差异常导致环境配置复杂化。本文聚焦Qt多版本管理这一具体需求,深入探讨如何利用官方工具链实现环境隔离,并系统讲解从Qt 5升级至Qt 6等更高版本时的代码适

weixin_30675247的博客 412

Qt开发:将UI文件编译为C++代码的原理与实践指南

在GUI开发中,界面与逻辑的分离是提升开发效率和维护性的关键设计原则。Qt框架通过其元对象系统(Meta-Object System)和信号槽机制,实现了这一目标。其核心原理是将XML格式的界面描述文件(.ui)通过专门的编译器(uic)转换为可执行的C++类代码。这种技术方案的价值在于,它不仅能将界面设计无缝集成到项目构建流程中,还能通过消除运行时XML解析来优化程序启动性能,并简化最终交付物的部署结构。在实际应用场景中,这对于需要单文件分发、对启动速度敏感或希望保护界面设计的工具软件尤为适用。本文以Qt

weixin_30617695的博客 412

Windows 11 Qt C++项目集成Protobuf 32.0完整指南:从编译到部署

Protocol Buffers(Protobuf)作为一种高效的数据序列化协议,通过预定义接口描述语言(IDL)和编译器生成多语言代码,实现了跨平台的结构化数据交换。其核心原理基于二进制编码和强类型约束,相比JSON/XML具有更小的体积和更快的解析速度,在分布式系统、网络通信和配置管理场景中广泛应用。本文聚焦于在Windows 11环境下,将最新版Protobuf 32.0与Qt C++开发栈深度集成,详细解析如何通过CMake编译64位运行时库、配置Qt Creator构建流程,并解决MSVC工具链下

weixin_30414305的博客 426

Qt编译报错qobject_p.h找不到?深度解析私有头文件访问与构建配置

在C++大型框架开发中,模块化设计与二进制兼容性是保障软件稳定与可维护性的核心原则。通过区分公共API与私有实现,框架可以在保持接口稳定的同时,灵活优化内部代码。Pimpl(Pointer to Implementation)等设计模式常被用于实现这一机制,它将类的实现细节隐藏在一个私有指针背后。这种设计对框架的长期演进和第三方生态兼容至关重要,尤其在需要深度定制或开发平台特定插件时。然而,当开发者尝试编译依赖框架内部实现的代码(如引用Qt的私有头文件qobject_p.h)时,常会遇到因包含路径或编译配置

weixin_34174105的博客 314

Windows平台Qt安装配置全攻略:从版本选择到环境验证

跨平台应用程序框架是构建可在多个操作系统上运行的软件的基础,其核心在于提供统一的API和工具链。在C++开发领域,Qt作为成熟的跨平台框架,通过封装系统原生API并提供丰富的模块库,实现了“一次编写,到处编译”的目标。其技术价值在于显著提升了GUI应用程序的开发效率与可维护性,尤其适用于需要同时支持Windows、macOS和Linux的桌面软件、嵌入式界面及移动端应用。在Windows平台上部署Qt开发环境时,开发者常面临编译器选型(如MinGW-w64与MSVC的区别)、组件定制及环境变量配置等具体挑战

weixin_30701575的博客 385

Qt国际化和CMake:如何更新* .ts

QT 中如何自动更新国际化文件。 CMakelist文件修改更改QT国际化ts文件。 QT生成翻译文件。

啊渊的专栏 5808

QT编程(1):Qt项目创建与编译

开始创建项目前,需确保已完成Qt环境安装,核心组件齐全:已安装(官方IDE,项目管理、编码、编译一体化工具)已配置可用:Windows推荐MinGW/MSVC编译器,Linux推荐GCC,Mac推荐Clang已安装对应Qt版本库(建议选择LTS长期支持版,稳定性更强)环境校验:打开Qt Creator,点击顶部菜单栏【工具】-【选项】-【Kits】,查看已配置套件无红色报错,编译器、Qt版本、调试器均正常关联,即可开始创建项目。

2301_80882026的博客 498

PID循迹控制算法

前言  让小车进行循迹最重要的是获取车相对于循迹线的位置,关于循迹模块的原理我已经在之前的一篇博客上讲过,如果大家没看过的话可以点此链接:PID循迹模块原理。 PID循迹原理简介 图1 循迹车寻线行走图示 图2 市场常见循迹传感器  PID循迹的原理我们大致可以用常识性思维去思考下,如图1所示为循迹车寻线行走图示,现在小车要按照中间那条黑线循迹行走,如果车头往左偏则需要控制方向盘让车往右转,车头往又偏则需要让车往左转。但是仅仅只有左转和右转的话,车一到左边就向右转,一到右边就向左转,则车会来回在线左右晃动

Dinvent的博客 7万+

Qt辅助脚本工具syncqt

距离Qt在Windows下编译时 configure 问题一则已经过了半年了,重新看看syncqt相关的内容。 include目录 安装好Qt后,我们会有 bin\src\lib\include\... 可是,如果下载Qt源码的话,里面并没有include这个目录 那么,它是怎么来的: syncqt include目录中的东西是由syncqt这个p

1+1=10 9290

用PyCharm+Scrapy打造你的第一个爬虫:从安装到实战(附完整代码)

本文详细介绍了如何使用PyCharm和Scrapy框架从零开始构建高效网络爬虫。通过环境配置、项目创建、核心爬虫逻辑编写到数据处理与存储的完整流程,帮助Python开发者快速掌握爬虫开发技巧,并附有实战代码示例。特别适合想要学习Scrapy框架和提升爬虫技能的开发者。

weixin_29038345的博客 868

基于STM32设计的水下水质检测装置(微信小程序)(205)

本项目设计了一款基于STM32微控制器为核心的水下水质检测设备,该设备具有高度集成化、智能化的特点,能够实时监测水深、温度、浊度及溶解性总固体(TDS)等关键水质参数,并通过4G网络将数据上传至腾讯云IOT物联网平台,实现远程监控和数据分析。同时,为了便于操作和移动观测,还配套开发了微信小程序,用户可通过微信小程序实时查看并控制设备的各项功能,如调整下潜深度等。

1250
上一篇: 在Qt里添加图片资源
下一篇: Qt 无法启动此程序 计算机丢失Qt5Widgetsd.dll....
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值