最近有不少朋友问我,自己用的是MacBook,想学Qt开发但不知道怎么装Qt Creator,网上教程要么太老要么步骤跳得太快。我前阵子刚好在自己的M1 Mac上重新配了一遍环境,把整个过程和踩过的坑都记下来了。这篇就专门讲qt creator for Mac怎么从零开始装好、配好,让你少走弯路。不管你是Intel芯片还是Apple Silicon的Mac,流程基本一样,个别地方我会特别说明。

先去官网下载,别从乱七八糟的渠道拿安装包
很多人第一步就卡住了,搜索引擎一搜qt creator for Mac,出来一堆第三方下载站,版本参差不齐还捆绑东西。我建议直接去Qt官网,找到Download页面,选开源版就行,个人学习完全够用。下载下来是一个在线安装器,大概几十兆,运行之后它会让你登录Qt账号,没有的话花一分钟注册一个,免费的。登录完选择安装路径,默认就好。组件选择这里要注意,新手容易懵——你会看到Qt 6.x下面有好多子项。我的建议是:macOS桌面开发勾上,另外把Sources和Qt Creator本身都勾上。Android和iOS那些暂时不用管,省得下载半天。整个下载安装过程看你网速,慢的话可能要半小时以上,耐心等。
装完后第一次打开,编译器怎么配
安装完打开Qt Creator,它一般会自动检测到Mac自带的Clang编译器。你可以去Preferences里面找到Kits这一项,看看Desktop那个套件是不是正常状态,没有红色感叹号就说明能用。如果显示未配置,手动选一下编译器路径,通常在/usr/bin/clang++。这里有个小坑,我之前用M1 Mac的时候,Qt 6.2之前的版本对ARM支持不太好,编译出来的东西跑不起来。所以建议直接装Qt 6.5以上的版本,对Apple Silicon原生支持,省心很多。配置好之后,点一下Apply,然后新建一个Widgets Application测试项目,能编译运行就说明qt creator for Mac环境没问题了。

新建项目时容易忽略的几个设置
新建项目的时候,路径里千万别带中文和空格,这是很多新手编译报错的根源。我见过有人把项目放在桌面的“新建文件夹”里,结果qmake找不到路径,折腾半天。另外构建系统选qmake还是CMake?Qt 6默认推CMake,但网上很多老教程用的是qmake。如果你是跟着视频学,建议先用qmake,资料多、好排查。等熟悉了再转CMake。还有一点,构建目录默认是在项目同级,你可以改成项目下的build文件夹,这样删项目的时候不会留一堆缓存文件在硬盘里。这些都是实测出来的经验,不是书上抄的。
Mac上特有的权限和路径问题
macOS的安全机制比较严,有时候Qt Creator访问某些目录会被拦。比如你把项目放在Documents下面,第一次编译可能会弹窗问你要不要允许访问。点允许就行。另外如果你用Homebrew装过其他版本的Qt,可能会和官方安装器装的冲突。检查一下环境变量,which qmake看看指向哪里。实在乱了就把Homebrew那个卸载掉,或者调整PATH顺序。还有一个冷门问题:Mac的Retina屏幕下,Qt Creator界面字体可能发虚。去Preferences里把高DPI缩放勾上,重启一下就清晰了。这些小细节网上很少有人讲,但确实影响使用体验。

常用插件和快捷键,让写代码快一点
Qt Creator本身功能已经挺全了,但装几个插件会更顺手。比如FakeVim,习惯vim操作的人可以装。还有Beautifier,配合clang-format自动格式化代码。快捷键方面,Command+B编译,Command+R运行,Command+Shift+B重新构建,这几个最常用。代码补全默认是Command+空格,但会和Mac系统输入法切换冲突,建议改成别的组合,我改成Option+空格了。另外调试的时候,左侧栏可以看变量和调用栈,比用命令行gdb舒服多了。这些配置一次弄好,后面开发效率高不少。
遇到报错别慌,常见问题这么解
新手最常遇到的报错就是“Project ERROR: Unknown module(s) in QT: xxx”。这通常是因为你安装Qt的时候没勾选对应的模块。比如用了Qt Multimedia,但安装时没勾Multimedia,就会报这个。解决办法很简单,重新运行安装器,把缺的模块补上。还有一种情况是编译过了但运行闪退,大概率是动态库路径问题。Qt Creator运行时会自动设置DYLD_LIBRARY_PATH,但如果你手动在终端跑,就得自己配。我建议前期都在Qt Creator里面运行,别折腾命令行。另外Xcode版本太老也可能导致编译失败,去App Store更新一下Xcode或者只装Command Line Tools也行。总之qt creator for Mac环境搭建不算难,就是细节多,按上面步骤走基本能搞定。


喜欢
高兴
鬼脸
呵呵
无聊
伤心