qtcreator使用及其总结

本文介绍QtCreator的使用方法,包括构建配置、多线程编译设置、传递命令行参数及qss语法高亮等高级功能。

qtcreator使用及其总结

构建步骤配置

在这里插入图片描述不同的版本会有差异,基本都大同小异:
qmake构建配置:这个只有debug和release可选,建议不要在这里变更,要改的话直接去构建设置中变换。debug和release的区别是debug模式会在makefile中自动加入-g参数,编译出来的程序自带符号信息可以让我们调试。
额外的参数:允许你给qmake添加额外的参数。
Generate separate debug info,产生独立的调试信息,这个功能就超级实用了,它将程序的调试信息单独生成一个文件,试想,构建时选择release,再把这个选上,是不是即兼顾到了发布又兼顾到了调试。不过这个操作建议只在release上进行,如果是debug下再勾选这个,虽然调试信息是独立出来了,但生成的二进制文件还是要比release的大。
Enable QML debugging and profiling:打开qml调试和分析,勾选后,可以在Qt creator中对QML程序进行断点调试,但会提示可能导致程序易受攻击,因此不使用qml一定要记得关掉它。
Enable Qt Quick Compiler:打开Qt Quick编译器,允许将qml文件编译成二进制文件,没用qml也不要打开。
有效的qmake调用:最终qmake执行时的命令,qmake中所有的配置改变最终都会反应到这里。
Override /usr/bin/make:覆盖/usr/bin/make,系统默认的make是/usr/bin/make,你也可以指定其它的程序来进行make操作,比如可以自己写一个程序先干个别的啥再调用make。
Make arguments:给make程序添加参数。
Parallel jobs:并行工作数,超级实用的功能,能加快编译速度

运行时,如何指定传入的参数?

注意观察,我们的main程序有两个参数argc和argv,现在,我们在下图箭头所指栏填入“aaa bbb”,再将我们的示例程序稍改一下。
在这里插入图片描述int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();

qDebug()<<"argc="<<argc<<",argv[0]:"<<argv[0]
       <<",argv[1]:"<<argv[1]
      <<",argv[2]:"<<argv[2];

return a.exec();

}
我们点击运行,应用程序输出栏消息如下:
01:29:32: Starting /home/ybkfss/untitled/untitled aaa bbb…
argc= 3 ,argv[0]: /home/ybkfss/untitled/untitled ,argv[1]: aaa ,argv[2]: bbb
看第一行:“Starting /home/ybkfss/untitled/untitled aaa bbb…”,我们在“Command line arguments”栏输入的“aaa bbb”直接跟在了程序/home/ybkfss/untitled/untitled后面,使用qDebug进行输出后,可以发现,我们输入的参数是从第二个起,第一个参数,是程序运行的路径。我相信,通过我们这个例子,下次你碰到那种启动时一定要加参数的程序如何在creator中启动了。

如何开启make多线程编译?

有一种情况可能会要修改默认的编译选项,比如当项目比较大,一个工程有好几个pro时,你会发现程序编译好慢啊,怎么办呢?这时就需要指定make的作业数了。上图中有一个选项:Parallel jobs,注意这个,上图中默认的参数是1,我们通过lscpu命令查看一下当前机器CPU的核心数,是几个核这个数字就填几,再勾选Override MAKEFLAGS,这样make就可以多线程执行了。但是注意,并不是所有版本的Qt Creator都有这个选项,如果没有,就在“Make arguments:”这栏填入“-j4”,这个4是当前cpu的核心数。
上面的这个修改办法,只是针对当前项目进行了修改,如何让它一直生效呢?
在这里插入图片描述点击“工具”中的“选项”菜单,弹出“选项”界面后,选中“Kits”中要设置的名称,找到上图中箭头所指向的“Environment”和对应的“Change”按钮,点击此按钮,在弹出的界面中加入参数“MAKEFLAGS=-j4”在确定退出,这样,下次新建的项目,它也生效了。

如何支持qss语法高亮?

qss是Qt指定的样式表文件,可是在Qt Creator中却没有自动支持它的语法高亮,高亮功能能让我们快速定位出代码中的错误,这么实用的功能我们当然要有了,现在我们手动设置一下,让qss文件在 Qt Creator中打开后,也能高亮。

在这里插入图片描述如上图所示,在选项界面中点击“环境”再点击“MIME类型”,我们在“已注册的MIME类型”中输入“css”过虑出MIME类型,再过虑的结果中,双击结果“text/css”,再在“模式”栏的“.css”后加入“;.qss”,注意是分号为间隔,再点击OK按钮,再重新打开qss文件,就可以发现高亮成功。注意上图中“键盘”选项,自定义快捷键就在这个位置。
如何自动添加函数头模板
如下图所示:
在这里插入图片描述当需要添加函数头时,直接在代码中键入header即可自动插入此内容:
在这里插入图片描述
此时,按下回车即可:
在这里插入图片描述

### Qt Creator 使用过程中的常见异常及其解决方案 #### 一、qmake.exe 进程无法启动问题 当使用 Qt Creator 编译项目时,如果提示 `无法启动进程 qmake.exe` 的错误,通常是因为环境变量配置不正确或者路径设置有问题。以下是可能的原因及解决方法: - **原因分析**: - 环境变量 PATH 中未包含 Qt 安装目录下的 bin 文件夹路径[^1]。 - 工具链配置有误,例如选择了错误的工具链或编译器。 - **解决方法**: - 检查系统的环境变量 PATH 是否包含了 Qt 的安装路径(通常是 `<Qt_Install_Directory>/bin`)。如果没有,请将其添加进去。 - 打开 Qt Creator,在菜单栏依次点击 Tools -> Options -> Build & Run,确认 Kits 和 Compiler 设置无误,并确保所选的 Kit 对应正确的 Qt 版本和编译器版本。 --- #### 二、GCC/G++ 库版本过低问题 在某些情况下,系统上的 GCC 或 GLIBC 库版本较低可能导致兼容性问题,从而引发构建失败或其他运行时错误。 - **原因分析**: - 如果系统中使用的 GCC 或 G++ 版本低于 Qt 要求的最低版本,则可能会导致链接阶段出现问题[^2]。 - **解决方法**: - 升级 GCC 和 G++ 到最新稳定版。可以通过包管理器完成更新操作,例如对于基于 Debian 的发行版可以运行以下命令: ```bash sudo apt update && sudo apt install gcc g++ ``` - 同样需要检查 GLIBC 库版本是否满足需求。通过以下命令查看当前版本: ```bash ldd --version ``` --- #### 三、程序异常结束问题 重新安装操作系统后,原本能够正常运行的应用可能出现崩溃现象,这可能是由于缺少必要的动态库支持所致。 - **原因分析**: - 动态链接库未能被正确加载至目标可执行文件所在位置[^3]^。 - **解决方法**: - 将所需的 `.dll` 或 `.so` 文件手动拷贝到应用程序所在的目录下; - 修改 LD_LIBRARY_PATH 环境变量以指向这些共享对象的位置。例如: ```bash export LD_LIBRARY_PATH=/path/to/libs:$LD_LIBRARY_PATH ``` --- #### 四、XServer RandR 扩展版本不足问题 部分图形界面应用依赖于特定版本以上的 XRandR API 来实现分辨率调整等功能。如果服务器端提供的扩展版本较旧则会触发内部断言失败进而终止整个流程。 - **原因分析**: - 当前 Linux 发行版自带的显卡驱动仅实现了早期标准的功能集[^4]^。 - **解决办法**: - 更新显示适配器固件以及对应的开源/闭源驱动程序;也可以尝试切换不同的桌面环境来规避潜在冲突。 --- #### 五、权限不足引起的问题 有时即使上述条件都已满足但仍会发生意外退出的情况,此时需考虑是否存在访问控制方面的障碍。 - **原因分析**: - QTCreator 在后台试图调用外部 shell 实现某些功能却遭到拒绝[^5]^。 - **应对措施**: - 提升用户账户权利等级直至获得完全管理员身份后再试一次; - 或者直接给予 EXE 文件读写许可权以便顺利完成初始化工作流。 --- ### 总结 针对不同类型的故障点采取针对性策略往往能快速定位根本源头并加以修复。希望以上分享对你有所帮助!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值