Qt配置和功能使用踩坑说明
1、项目新建
- 新建项目时要新建文件夹,构建文件夹就会在工程文件夹在一个new的文件夹下


- 影子构建(Shadow Build) 是 Qt Creator 提供的一种构建模式,将编译生成的中间文件和可执行文件存放在源代码目录之外的单独构建目录,而不污染原始的源代码目录

2、执行qmake
- qmake 是 Qt 提供的一个构建工具,用于简化跨平台 Qt 应用的构建流程。它通过读取 .pro 文件生成适合目标平台的构建文件,例如 Makefile(windows & linux) 或 sln工程文件(Windows 安装了 Visual Studio)

3、Qt中pro文件中链接库的写法(以海康SDK为例)
1、在工程中直接引入lib文件,结果如下, -L表示链接到目录 -l表示指定HCCore.lib这个文件
LIBS += -L$$PWD/lib/ -lHCCore
INCLUDEPATH += $$PWD/include
DEPENDPATH += $$PWD/include
2、直接加DLL
LIBS += $$PWD/bin/HCCore.dll
3、这种写法不对,使用了-l,默认找HCCore.lib
LIBS += -L$$PWD/bin/ -lHCCore.dll
4、Working directory说明
- 工作目录是指在qt creator中点击run按钮时程序运行的当前目录,也是代码中的当前目录,和exe所在的目录不一致,比如代码中读取Config.ini,需要将它放入Working directory而不是exe所在目录
- 在qt creator点击run按钮与直接点击exe文件运行是不一样的环境,双击exe文件工作目录是当前exe所在的目录

5、版本说明
- 官网:https://download.qt.io/archive/qt/
- 从Qt5.15.0开始Qt不在提供离线安装包
- 下载5.15以下版本会报错"Download from your IP address is not allowed",需要VPNFQ。
6、Qt中的信号与槽使用踩坑
- 当一个信号connect多个槽时,信号发出会根据代码中连接槽的顺序依次触发槽函数
X、Qt使用报错
X.1、当链接库的路径发生改变,执行qmake或重新构建,可执行程序仍然链接到之前的库路径
- 原因:只修改pro文件中的库路径,执行qmake或重新编译,无法生成新的可执行文件
- 方法一:改动源码,加个空格之类的,重新编译生成可执行文件(看程序生成时间是否改变)
- 方法二:删除build目录下所有文件重新编译
X.2 Qt运行程序中出现不明显报错且无法进入debug

- 可以进入debug目录直接点击生成的程序,看看报什么错
- 遇到报缺dll或so库,则是缺pro文件中链接库文件(方法1.复制库直接到debug目录 方法2.将库文件目录加到环境变量)
- 参考链接:
X.3 出现__imp__函数名的报错
- 原因: 没找到该函数

X.4 Qt程序部署打包后双击exe报错,目录里有QtCored.dll


- 原因: 使用了Windows系统的控制台运行windeployqt.exe打包,PowerShell启动后直接读取系统的环境变量,本地电脑中Qt的环境变量之前还有自己装的编译器D:\mingw64\bin,导致找错了编译器,打包错误
- 方法一: 使用Qt编译器的shell(会预先设置Qt环境变量)打包
- 方法二: 如果一定要用Windows系统控制台打包,要保证Qt的环境排在前面,首先PowerShell先找到

本文来自博客园,作者:变秃了也就变强了,转载请注明原文链接:https://www.cnblogs.com/lichangyi/p/18652762
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战