为什么从另一个电脑复制项目文件过来后,QT 在自己电脑上登录界面登不上,Shadow build 被选中原因

embedded/2025/3/22 9:13:24/

### 为什么从另一个电脑复制项目文件过来后,QT 在自己电脑上登录界面登不上,Shadow build 被选中原因

#### 1. **Shadow build 的作用**
Shadow build 是 Qt Creator 提供的一种构建模式,将编译生成的中间文件和可执行文件存放在源代码目录之外的单独构建目录中,而不是污染原始的源代码目录。这种方式可以避免源代码目录被编译文件污染,同时支持使用不同编译器创建不同版本的可执行文件。

#### 2. **问题原因**
当你从另一台电脑复制项目文件过来时,可能会遇到以下问题:
- **路径问题**:如果项目中使用了相对路径或绝对路径,这些路径在新电脑上可能不再有效。Shadow build 会将编译文件放在一个特定的目录中,而不是直接在项目目录下,这可能导致路径相关的代码无法正确找到文件。
- **构建配置问题**:如果构建路径仍然指向之前项目的路径,编译时会报错。需要更改构建路径到当前项目的正确路径。
- **资源文件问题**:如果项目中包含资源文件(如图片、配置文件等),这些文件可能没有被正确复制或路径不正确,导致登录界面无法正常显示。

#### 3. **解决方法**

0.  Shadow build取消勾选
1. **清理构建文件**:
   - 在 Qt Creator 中,选择 **Build** 菜单,然后选择 **Clean Project**,清理之前的构建文件。
   - 删除项目目录下的 `build` 文件夹(如果存在)。

2. **重新配置构建路径**:
   - 在 Qt Creator 中,打开项目的 **Build Settings**。
   - 确保 **Shadow build** 选项被选中,并设置正确的构建目录路径。

3. **检查路径配置**:
   - 检查项目中的所有路径配置,确保它们是相对路径而不是绝对路径。
   - 如果使用了资源文件,确保这些文件的路径在新电脑上是正确的。

4. **重新生成项目文件**:
   - 删除项目的 `.pro.user` 文件,然后在 Qt Creator 中重新打开项目,重新配置项目设置。

5. **检查 Qt 版本和构建套件**:
   - 确保新电脑上的 Qt 版本和构建套件与原项目使用的版本一致。
   - 检查 **Qt Version** 和 **Kit** 设置,确保它们正确配置。

6. **重新编译和运行**:
   - 清理项目后,重新编译项目。
   - 运行项目,检查登录界面是否正常显示。

### 总结
从另一台电脑复制项目文件过来后,登录界面无法正常显示的问题,很可能是由于 Shadow build 导致的路径问题或构建配置问题。通过清理构建文件、重新配置构建路径、检查路径配置和重新生成项目文件,可以有效解决这些问题。


http://www.ppmy.cn/embedded/174646.html

相关文章

Java基础面试题学习

转换成自已的语言来回答,来源小林coding、沉默王二以及其它资源和自已改编。 1、概念 1、说一下Java的特点 我认为Java有很多特点 首先是平台无关性:Java可以实现一次编译到处运行,因为Java的编译器将源代码编译成字节码,使得该…

【搜索页】- 功能流程

【搜索页】- 功能流程 【搜索组件】- 改造搜索组件HdSearch src/main/ets/common/components/HdSearch.ets 课程目标 直接将搜索关键字写死在keywords数组中:keywords:string[][html,css,js,vue,react]使用setInterval实现每隔3秒完成题目分类数据的切换使用rout…

JAVA 中的 HashMap 工作原理

‌1. 底层数据结构‌ ‌数组 链表/红黑树‌&#xff1a; HashMap 内部维护一个 ‌桶数组&#xff08;Node[] table&#xff09;‌&#xff0c;每个桶&#xff08;Bucket&#xff09;存储链表或红黑树的头节点。 transient Node<K,V>[] table; // 桶数组 static class N…

C++基础 [十二] - 继承与派生

目录 前言 什么是继承 继承的概念 继承的定义 基类与派生类对象的赋值转换 继承的作用域 派生类中的默认成员函数 默认成员函数的调用 构造函数与析构函数 拷贝构造 赋值运算符重载 显示成员函数的调用 构造函数 拷贝构造 赋值运算符重载 析构函数 继承与…

Spring Boot中接口数据字段为 Long 类型时,前端number精度丢失问题解决方案

Spring Boot中接口数据字段为 Long 类型时&#xff0c;前端number精度丢失问题解决方案 在Spring Boot中&#xff0c;当接口数据字段为 Long 类型时&#xff0c;返回页面的JSON中该字段通常会被序列化为数字类型。 例如&#xff0c;一个Java对象中有一个 Long 类型的属性 id …

蓝桥杯 第十天 :2022 国赛 第 2 题 排列距离/康托定理

实际上就是求字典序&#xff1a; 假设我们有 3 个数字&#xff1a;1, 2, 3。 排列组合总数: 3! 3 * 2 * 1 6 种。 这 6 种排列分别是&#xff1a; 1 2 31 3 22 1 32 3 13 1 23 2 1 康托展开: 对于排列 2 1 3&#xff0c;康托展开计算的结果是 2。这意味着 2 1 3 在所有 6 种…

JavaScript-函数、对象详解

一、函数 1.为什么需要函数&#xff1f; 作用&#xff1a;封装重复代码&#xff0c;实现复用示例&#xff1a;alert ()、prompt () 等内置函数 2.函数声明与调用 语法&#xff1a; function 函数名() {// 函数体 } 函数名(); // 调用 命名规范&#xff1a; 小驼峰命名&am…

windows+ragflow+deepseek实战之一excel表查询

ragflows平台部署参考文章 Win10系统Docker+DeepSeek+ragflow搭建本地知识库 ragflow通过python实现参考这篇文章 ragflow通过python实现 文章目录 背景效果1、准备数据2、创建知识库3、上传数据并解析4、新建聊天助理5、测试会话背景 前面已经基于Win10系统Docker+DeepSeek+…