Qt版本:Qt 6.7.2 项目配置
本教程参考哔哩哔哩系列视频
help -> about qt creater查看版本 
在Qt中创建一个GUI项目
step 1: choose a template

选择一个模板,这里选择一个空的模板
Qt widgets application -
可以看到有图标,根据图标大概能知道这个模板是什么模板 -
右边也会有对模板的描述 ### step 2: Project location 
选择你的文件位置,命名的你文件名字
step 3: Define Build System
-
选择CMake,可以参考这里 -
什么是[[CSC3002/01_CSC3002_note/Build system|Build system]] -
我跟教程走,选择qmake - 项目管理文件qmake -> .pro文件; cmake ->
CMakeLists.txt文件 ### step 4: class information 
widget: used to refer to any small device that you do not know the
name of(不知名的)小器物,小装置,小玩意儿( informal ) from
oxford - widget空窗口(只有窗口标题) -
mianWindow主窗口(菜单栏等) - dialog对话框(有Yes or no的选项) -
建议类名选择大写开头 - 勾选后有widget.ui的文件,这个文件会有ui的信息
选择翻译后的语言,存储在zh_CN.qm文件中,我们用英文开发,有中文的语言包

step 5: Kit selection
编译套件的选择,选择Qt自带的编译器 MinGW 64-bit
### step 6:
版本控制系统选择 代码同步工具 - SVN - GIT ### finish 完成!
如果高版本的Qt可能出现报错和警告,尝试:help -- about plugins -- c++ -- ClangCodeModle取消勾选,重启软件。


效果展示:Hello world in Window
in widget.uidesign中的窗口设计,
选择一个label和一个push button(the advantage
of qt is that you can drag and drop to design the window)) 
trouble shooting
点击.pro多数能打开项目,因为qmake是默认的构建系统
点击CMakeLists.txt无法正常打开项目
确认cmake是否安装
- type
cmake --versionin cmd, 你会得到cmake的版本号 - else安装cmake from here #### 确认环境变量是否配置正确
- type
echo %PATH%in cmd, 你会得到目前你所有的 PATH,检查qt是否在里面 
- 注意:区分QtCreator 和 Qt,QtCreator是IDE,Qt是库
- 注意:Path在用户变量有时不会正常生效(Kimi的观点)设置在系统变量
#### 在
issue查看configuration fail的原因 每个人的原因可能不一样
我的是build type的问题,我选择了debug,但是我的debug没有配置 - 清理构建目录
clear CMake configuration:清理您的构建目录,以确保与构建缓存和配置无关的干净状态。您可以在 Qt Creator 中通过“构建”菜单中的“清理项目”选项清理构建目录。 - 重新配置项目
run CMake:重新配置项目 ### 尝试Qt自带的案例examples,感受项目的效果
p.s.
- in left sidebar
projectsyou see thecalqlatreis in bold font, that means it is the current active project - you can see the compiling process in the
compile outputin the bottom - you can see the
issuesin the bottom, if there is any error, you can see it here - the calculator window will pop up after compiling
- 先build (锤子)后 run (绿三角)
AI生成的回答(仅参考)
build debug /release 区别
Debug 构建:
- 编译优化:通常不进行优化或仅进行最小优化,以便于调试。
- 调试信息:包含完整的调试信息,如符号信息,这有助于调试器定位代码中的问题。
- 执行速度:由于没有优化,执行速度通常较慢。
- 错误检查:包含额外的错误检查和断言,有助于在开发过程中发现问题。
- 内存使用:可能会使用更多的内存,因为优化较少。
- 日志记录:可能会包含更详细的日志记录,以帮助追踪问题。
- 符号名称:变量和函数名称不会被优化掉,保持源代码中的名称,便于调试。
Release 构建:
- 编译优化:进行高度优化,以提高应用程序的性能。
- 调试信息:通常不包含调试信息,或只包含非常有限的调试信息。
- 执行速度:由于进行了优化,执行速度较快。
- 错误检查:错误检查和断言可能会被禁用或减少,以避免影响性能。
- 内存使用:优化内存使用,以减少应用程序的内存占用。
- 日志记录:日志记录可能会被禁用或减少,以避免影响性能。
- 符号名称:变量和函数名称可能会被缩短,以减少二进制文件的大小。
为什么需要不同的构建方式?
- 开发和调试:Debug 构建提供了必要的调试信息和工具,帮助开发者在开发过程中发现和修复错误。
- 性能测试:Release 构建通过优化提供了应用程序的最佳性能,这对于性能测试和最终用户是非常重要的。
- 部署:最终用户通常使用 Release 构建,因为它提供了更好的性能和更小的二进制文件大小。
在实际开发过程中,开发者可能会在 Debug 模式下编写和测试代码,然后切换到 Release 模式进行性能测试和部署。 ### build和compile的区别 #### 编译(Compile):
- 定义:编译是将源代码(通常是单个文件,如
.c、.cpp文件等)转换成机器码的过程,生成的目标文件通常具有.obj或.o扩展名。 - 编译器:编译过程通常由编译器完成,如 GCC、Clang、MSVC 等。
- 单个文件:编译通常针对单个源文件,将其从高级语言转换为低级语言。
- 语法检查:编译过程中,编译器会检查语法错误。
- 优化:编译器可能会对代码进行优化,以提高性能或减少生成的机器代码的大小。
构建(Build):
- 定义:构建是一个更广泛的过程,它包括编译、链接等多个步骤,将多个源文件和资源(如库文件、资源文件等)组合成一个可执行文件或库文件。
- 构建系统:构建过程通常由构建系统或构建工具管理,如 Make、CMake、MSBuild、Ant 等。
- 多个文件:构建过程涉及多个源文件和可能的库文件。
- 依赖管理:构建系统会管理文件之间的依赖关系,并确定编译的顺序。
- 链接:构建过程包括链接步骤,将编译后的目标文件与库文件链接在一起,生成最终的可执行文件或库文件。
- 自动化:构建过程可以自动化,通常通过编写构建脚本来定义构建的规则和步骤。
区别:
- 范围:编译是构建过程中的一个步骤,构建是一个更全面的过程。
- 目标:编译的目标是生成目标文件,而构建的目标是生成可执行文件或库文件。
- 过程:编译过程关注单个源文件的转换,构建过程关注整个项目从源代码到可执行文件的完整流程。