ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Qt Creator安装配置全攻略:从下载到CMake项目实战

Qt Creator安装配置全攻略:从下载到CMake项目实战 1. 为什么Qt Creator依然是C桌面开发的首选IDE1.1 从一堆热搜词里看新手的真实困境先看一组搜索词fatal: cannot mix incompatible qt library、qt.qpa.plugin: could not find the qt platform plugin、cmake error at ...CMakeDetermineCompilerId.cmake:9、qt creator 代码对齐快捷方式不好用。这些词背后全是同一类人——刚装完Qt、兴冲冲打开Qt Creator、结果连第一个窗口都没跑起来的新手。我见过太多人卡在安装这一步下载器选错版本、组件漏勾、编译器没配、CMake路径找不到、环境变量冲突。折腾两三天代码一行没写心态先崩了。所以这篇东西不聊虚的就干一件事——把Qt Creator从下载到跑通第一个CMake项目的完整链路按我实际踩过的顺序讲清楚。Qt Creator是什么简单说它是Qt官方出的一套跨平台C集成开发环境IDE。你可以把它理解成一个专门为Qt量身定做的代码工作台写代码、管项目、调界面、编译、调试、部署全在一个窗口里完成。它和Visual Studio、CLion是同类工具但优势在于对Qt库的原生支持——信号槽、QML、UI设计器、跨平台构建都是开箱即用。适合谁看三类人一是C刚入门、想找个能写图形界面项目的环境二是从Dev-C、CodeBlocks转过来、想接触真实工程构建流程的三是被Visual Studio那几十个G的安装包劝退、想找个轻量方案的。只要你打算用C写点带界面的东西Qt Creator都值得花一个下午装明白。1.2 Qt Creator、Qt库、CMake、编译器四者到底什么关系新手最容易懵的就是这几个名词。我用做菜打个比方Qt库是食材各种现成的类按钮、窗口、网络、数据库编译器是灶台把C源码变成机器能跑的二进制CMake是菜谱告诉灶台先炒什么、后放什么、依赖哪些食材Qt Creator是厨房把上面三样整合在一起让你在一个地方干活很多人以为装了Qt Creator就万事大吉结果一编译报错——因为编译器没装、CMake没配、Qt库版本对不上。这四个东西是独立的Qt Creator只是把它们串起来的那个壳。理解这一点后面所有报错你都能自己定位。提示Qt 6之后官方主推CMake作为构建系统qmake虽然还在但已不是首选。新手直接学CMake别走弯路。2. 安装前的关键决策版本、组件与下载渠道2.1 选Qt 5还是Qt 6别纠结太久这是新手第一个岔路口。我的建议很直接场景推荐版本理由学习C基础、写小工具Qt 6.x官方长期维护文档新CMake支持好维护老项目、公司要求Qt 5.15.x最后一个5系LTS生态成熟想编译安卓APKQt 6.x安卓支持在6系更完善跟着老教程学Qt 5.15.x教程截图对得上少踩坑热搜里有个qt 5.15.2下载安装说明不少人还在用5.15.2。这个版本确实稳但如果你是新学我建议直接上Qt 6.5或6.6的LTS版本。原因很简单Qt 6的CMake集成是原生设计不像Qt 5那样需要额外配置对新手反而更友好。2.2 在线安装器 vs 离线包怎么选Qt官方现在主推在线安装器Qt Online Installer。你需要注册一个Qt账号免费登录后才能下载。离线包虽然不用登录但体积巨大且版本更新慢。在线安装器的好处是你可以只勾选需要的组件比如只要Windows桌面开发就不用下安卓、iOS那一堆。我实测下来一个纯Windows桌面开发环境勾选合理的话大概3-5G比Visual Studio动辄20G轻太多了。下载渠道认准官网。搜索Qt download进官方页面找到Download the Qt Online Installer。别去各种第三方站下热搜里那些ide eval reset下载、fmd ide之类的词很多是破解或来路不明的工具装上去轻则报错重则中招不值当。2.3 组件勾选这一步决定你后面会不会报错安装器走到Select Components这一步是全场最关键的地方。我按Windows平台给你一份清单Qt版本勾选Qt 6.6.x下的MinGW 64-bit如果你不想装Visual StudioDeveloper and Designer Tools勾选MinGW 11.x 64-bit、CMake、Ninja、Qt CreatorAdditional Libraries新手可以先不勾用到再补这里解释几个关键选择为什么选MinGW而不是MSVCMSVC需要你先装Visual Studio的编译器就是热搜里那个microsoft visual c redistributable相关的东西体积大、配置烦。MinGW是GCC的Windows移植版随Qt一起装开箱即用。缺点是某些Windows原生API支持不如MSVC但对学习和大多数项目够用。CMake和Ninja为什么要在Qt安装器里勾因为Qt Creator需要它们来构建项目。虽然你系统里可能已经有CMake但版本可能不匹配。用Qt自带的版本经过测试省心。热搜里cmake下载、cmake安装、ubuntu 安装cmake 3.16这些词说明很多人卡在CMake上——直接用Qt自带的就绕过了这个坑。Qt Creator本身在Developer and Designer Tools里别漏勾。有人只勾了Qt库没勾Creator装完发现没IDE一脸懵。注意安装路径别带中文和空格。C:\Qt是最省事的选择。路径里有中文CMake和编译器经常出莫名其妙的错。3. 安装过程实录与首次启动配置3.1 安装器执行阶段会发生什么勾完组件点下一步安装器开始下载。这个过程视网速可能20分钟到2小时不等。它会先下Qt Creator再下Qt库最后下编译器和CMake。安装过程中有几个点值得留意进度条卡在某个百分比不动别急着关。有时候是在解压大文件等几分钟。如果中途失败重新运行安装器它会续传已下载的部分不用从头来。装完后安装器会问你要不要运行Qt Creator先别急我们还要检查环境。装完后你的C:\Qt目录大概长这样C:\Qt\ ├── 6.6.0\ │ └── mingw_64\ - Qt库 ├── Tools\ │ ├── mingw1120_64\ - 编译器 │ ├── CMake\ - CMake │ ├── Ninja\ - Ninja │ └── QtCreator\ - IDE本体3.2 首次启动Kit配置是核心第一次打开Qt Creator它会自动扫描已安装的Qt版本和编译器生成一个叫**Kit套件**的东西。Kit就是Qt库编译器CMake调试器的组合包。正常情况下Qt Creator会自动检测到MinGW的Kit你什么都不用改。但如果你看到Kit旁边有个红色感叹号说明某个组件没配好。点Edit-Preferences-Kits检查这几项CompilerC和C都要指向MinGW的gcc/gQt version指向C:\Qt\6.6.0\mingw_64CMake Tool指向C:\Qt\Tools\CMake\...Debugger指向MinGW的gdb热搜里qt creator 代码对齐快捷方式不好用这个问题其实和Kit无关是快捷键设置问题。默认对齐是CtrlI但如果你装了其他插件或改过键位可能冲突。在Preferences-Environment-Keyboard里搜Align就能重新绑定。3.3 环境变量要不要配很多人问要不要把Qt的bin目录加到系统PATH里我的建议是用Qt Creator开发时不用配。因为Qt Creator启动时会自己设置好运行环境。但如果你要在命令行里直接跑qmake或windeployqt那就需要配。配的话把这两个加到PATHC:\Qt\6.6.0\mingw_64\binC:\Qt\Tools\mingw1120_64\bin提示PATH里如果同时有多个Qt版本的bin就会出现热搜里那个cannot mix incompatible qt library错误——程序运行时加载了错误版本的Qt DLL。所以要么只配一个要么用Qt Creator来管理。4. 用CMake跑通第一个项目从建工程到出窗口4.1 新建CMake项目别选qmake打开Qt CreatorFile-New Project。在模板列表里你会看到Application (Qt)下面有qmake和CMake两套模板。选CMake那套具体是Qt Widgets Application或Qt Console Application。选CMake的理由Qt 6的官方推荐跨平台一致性最好而且热搜里qt cmake多模块顶层cmakelists、opencv cmake编译步骤这些需求都建立在CMake基础上。学会CMake你以后集成第三方库比如OpenCV会顺很多。建项目时填Name随便比如HelloQtCreate in路径别带中文Build systemCMakeClass information基类选QMainWindow或QWidget都行4.2 CMakeLists.txt到底写了什么建完项目Qt Creator会自动生成一个CMakeLists.txt。这是CMake的菜谱。我把它逐行拆给你看cmake_minimum_required(VERSION 3.16) # 最低CMake版本 project(HelloQt VERSION 0.1 LANGUAGES CXX) # 项目名和语言 set(CMAKE_CXX_STANDARD 17) # 用C17标准 set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Qt6 REQUIRED COMPONENTS Widgets) # 找Qt6的Widgets模块 qt_standard_project_setup() # Qt6专用自动处理一堆配置 qt_add_executable(HelloQt # 定义可执行目标 main.cpp mainwindow.cpp mainwindow.h mainwindow.ui ) target_link_libraries(HelloQt PRIVATE Qt6::Widgets) # 链接Qt库关键点解释find_package(Qt6 ...)这行是告诉CMake去哪里找Qt。如果报错Could not find a package configuration file provided by Qt6说明CMake不知道Qt装在哪。解决办法是在CMakeLists.txt开头加一行set(CMAKE_PREFIX_PATH C:/Qt/6.6.0/mingw_64)或者通过Qt Creator的Kit自动传入。qt_add_executable是Qt6提供的宏比原生add_executable多了自动处理MOC元对象编译器的功能。Qt的信号槽机制需要MOC预处理这个宏帮你自动做了。target_link_libraries把Qt6::Widgets链接进来。少了这行编译能过但链接会报undefined reference to QApplication之类的错。4.3 编译运行第一次点那个绿色三角按CtrlB构建或者点左下角的锤子图标。第一次构建会慢一些因为要跑CMake配置、MOC、编译。如果一切正常点绿色三角运行会弹出一个空白窗口。恭喜环境通了。如果报错看下面的排查表报错信息原因解决CMake Error: Could not find Qt6CMake不知道Qt路径检查Kit的Qt version配置undefined reference to ...没链接对应Qt模块在target_link_libraries加模块cannot mix incompatible qt library运行时加载了错误Qt DLL清理PATH用Creator运行qt.qpa.plugin: could not find ...平台插件找不到确保从Creator启动别直接双击exeCMakeDetermineCompilerId.cmake:9编译器路径错或没装检查Kit的Compiler配置热搜里那个cmake error at /usr/share/cmake-4.2/modules/CMakeDetermineCompilerId.cmake:9是Linux下CMake找不到编译器。Windows下类似本质都是Kit里编译器没配对。5. 新手最容易踩的坑与排查实录5.1 环境变量冲突多版本Qt共存的噩梦我见过最典型的场景电脑里装了Qt 5.15和Qt 6.6PATH里两个bin都加了。结果用Qt 6编译的程序运行时加载了Qt 5的DLL直接崩报cannot mix incompatible qt library (version ex50601)。这个错误的本质是Windows加载DLL时按PATH顺序找找到第一个匹配名字的就用。如果PATH里Qt 5的bin在前面程序就加载了Qt 5的DLL但程序是用Qt 6编译的ABI不兼容崩。解决办法有三条按推荐度排序不配PATH全部用Qt Creator运行。Creator会为每个Kit设置正确的环境最省心。用windeployqt打包。发布时用windeployqt your.exe它会把需要的DLL拷到exe旁边运行时优先加载同目录的不受PATH影响。PATH里只留一个版本。如果你必须在命令行跑就只留当前开发用的那个版本。5.2 平台插件找不到为什么双击exe跑不起来热搜里qt.qpa.plugin: could not find the qt platform plugin linuxfb这个错在Windows上对应的是could not find the qt platform plugin windows。原因Qt程序运行时需要加载平台插件qwindows.dll这个文件在plugins/platforms/目录下。如果你直接双击exeQt找不到插件目录就报这个错。解决用windeployqt打包它会把plugins目录一起拷过来。或者在代码里用QCoreApplication::addLibraryPath手动指定插件路径。但最省事的还是从Qt Creator里运行Creator自动处理了这些。5.3 CMake找不到编译器Kit配置的连锁反应CMakeDetermineCompilerId.cmake:9这个错字面意思是CMake在尝试确定编译器ID时失败了。根因通常是Kit里没配编译器配了但路径错比如指向了一个不存在的gcc编译器本身没装好MinGW安装不完整排查步骤Preferences-Kits- 选中你的Kit - 看Compiler那栏是不是空的或红色。如果是点下拉选正确的gcc/g。如果下拉里没有说明MinGW没装好回安装器补勾。5.4 代码对齐快捷键失效小问题但很烦qt creator 代码对齐快捷方式不好用这个热搜我深有同感。默认CtrlI是自动缩进选中代码但有时候没反应。原因可能是焦点不在编辑器里比如在项目树里按的键位被输入法或其他软件抢了选中了但代码本身格式没问题看起来没反应我的习惯是选中代码后按CtrlI如果没反应先点一下编辑器区域再按。另外CtrlShiftI是自动格式化整个文件比对齐更彻底。如果还是不行去Preferences-Environment-Keyboard搜Indent和Align看看绑定还在不在。6. 装完之后让环境真正为你所用6.1 从冒泡排序到小游戏练手项目的选择环境通了接下来得有东西练。热搜里c小游戏、冒泡排序算法c、c随机数这些词说明新手最想做的就是这两类算法练习和小游戏。我的建议路径控制台阶段用Qt Console Application写冒泡排序、随机数生成、指针练习。这个阶段不碰界面专注C语法。简单界面阶段用Qt Widgets Application做一个计算器或记事本。练信号槽、布局、事件。小游戏阶段做一个贪吃蛇或扫雷。练QTimer、QPainter、键盘事件。热搜里qt模拟鼠标点击事件就是这类需求用QTest::mouseClick或QMouseEvent都能实现。每个阶段都坚持用CMake管理项目。别图省事用qmake后面集成第三方库时会后悔。6.2 集成第三方库以OpenCV为例热搜里opencv cmake编译步骤是个高频需求。在Qt Creator的CMake项目里集成OpenCV核心就三步find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) target_link_libraries(HelloQt PRIVATE ${OpenCV_LIBS})前提是你系统里已经装好了OpenCV并且CMake能找到它通常通过OpenCV_DIR变量指定。如果找不到在CMakeLists.txt里加set(OpenCV_DIR 你的opencv/build路径)。这个流程对所有第三方库都通用find_package-include_directories-target_link_libraries。学会这个套路以后集成什么库都不慌。6.3 跨平台编译安卓APK的简单操作热搜里qt想要编译一个安卓平台的apk该如何简单操作这个问题在Qt 6下其实不难。前提是你在安装器里勾了Android相关的组件Android SDK、NDK、JDK。流程Preferences-Devices-Android配置好SDK、NDK、JDK路径。然后Projects-Build Run- 选Android Kit点构建。Qt Creator会自动调用Android的构建工具链生成APK。坑点Android SDK和NDK版本要和Qt版本匹配。Qt 6.6一般配NDK r25。版本不对会报各种链接错误。这个展开能写一整篇新手先知道有这么回事就行。6.4 日常使用中的几个提效习惯最后分享几个我用了几年养成的习惯用CMake PresetsQt Creator支持CMakePresets.json可以把不同配置Debug/Release、不同Kit写成预设切换一键搞定。善用CtrlK这是Qt Creator的定位器输入文件名、类名、函数名都能快速跳转比在项目树里翻快十倍。配置代码风格Preferences-C-Code Style可以导入clang-format配置团队协作时格式统一。定期清理构建目录CMake项目有时候会缓存旧配置出诡异错误时删掉build目录重新构建能解决80%的玄学问题。我在实际使用中发现Qt Creator最舒服的地方是它对CMake的原生支持——不像某些IDE需要装插件、配半天。装好之后从写代码到调试到打包一条龙都在一个窗口里。新手把安装这关过了后面就是享受工具带来的效率了。踩过几次坑之后你会发现那些报错信息其实都在告诉你哪个组件没配好顺着Kit配置一路查下去没有解决不了的问题。
返回列表