当前位置: 首页 > news >正文

CLion 中配置运行 Qt 项目指南

概述

对于使用 Qt Creator 开发的项目,迁移到 CLion 进行开发可以获得更强大的 C++ 开发体验(已经被CLion养废了)。本文将详细介绍如何正确配置 CLion 来运行 Qt 项目,并解决常见的依赖问题。

环境准备

  • CLion: 2025.2.1
  • Qt: 6.9.2
  • Qt Creator: 17.0.1
  • MinGW: 11.2.0
  • 操作系统: Windows

注意: 本文以 Qt 安装路径 C:\Qt 为例,实际操作时请替换为您自己的 Qt 安装路径。

配置步骤

1. 配置工具链

  1. 打开 File → Settings → Build, Execution, Deployment → Toolchains
  2. 添加新的工具链,选择 Qt 安装目录下的 MinGW:
    • Toolset path: C:\Qt\Tools\mingw1120_64 (根据您的 Qt 版本调整)
    • Debugger: 选择 MinGW 的 bin 目录下的 gdb.exe (C:\Qt\Tools\mingw1120_64\bin\gdb.exe)
      在这里插入图片描述

2. 配置 CMake 环境

  1. 打开 File → Settings → Build, Execution, Deployment → CMake
  2. 选择对应的 Qt 版本工具链
  3. Environment 中添加 Qt 的 CMake 变量:
    CMAKE_PREFIX_PATH=C:\Qt\6.9.2\mingw_64\lib\cmake
    

在这里插入图片描述

运行依赖

配置完成后构建成功,但运行时可能出现错误:

进程已结束,退出代码为 -1073741515 (0xC0000135)

该错误代码表示程序无法找到所需的 Qt 动态链接库(DLL)。虽然将 C:\Qt\6.9.2\mingw_64\bin 添加到系统环境变量后可以在命令行正常运行,但 CLion 的终端环境可能无法正确继承这些设置。

解决方案:使用 windeployqt 自动化部署

为了避免手动复制依赖库,我们可以配置 CLion 的外部工具来自动运行 windeployqt

配置外部工具
  1. 打开 File → Settings → Tools → External Tools
  2. 点击 + 添加新工具
  3. 配置参数:
    • Name: Deploy Qt
    • Program: C:\Qt\6.9.2\mingw_64\bin\windeployqt.exe
    • Arguments: --qmldir "$ProjectFileDir$" "$CMakeCurrentBuildDir$\main.exe"
    • Working directory: $ProjectFileDir$

注意: 将 main.exe 替换为您的实际可执行文件名。如果项目名称与可执行文件名不同,建议使用批处理脚本自动检测可执行文件。
在这里插入图片描述

使用说明

配置完成后,可以通过 Tools → External Tools → Deploy Qt Libraries 来运行部署命令。windeployqt 会自动将所需的 Qt DLL 文件复制到构建目录。
在这里插入图片描述

重要参数说明

  • --qmldir 参数:指定 QML 文件所在目录,确保 QML 相关的依赖库也被正确部署
  • 如果不指定 --qmldir 参数,使用 QML 的程序可能会报错:
    qrc:main.qml:2:1: module "QtQuick.Window" is not installed
    

总结

通过正确配置工具链、CMake 环境变量,并结合 windeployqt 工具自动化部署依赖库,可以在 CLion 中顺利运行 Qt 项目。

http://www.dtcms.com/a/356588.html

相关文章:

  • C++ 高阶错误解析:MSVC 与 Qt 全景指南
  • 如何设置阿里云轻量应用服务器镜像?
  • Maya绑定:连接编辑器的简单使用
  • 卷积理解-excel数据图表演示
  • 开源大语言模型(Qwen3)
  • 基于Velero + 阿里云 OSS的Kubernetes 集群的备份与恢复
  • Kubernetes 与 GitOps 的深度融合实践指南
  • 国产数据库转型指南:DBA技能重构与职业发展
  • 面试问题详解十一:Qt中的线程池与 QRunnable
  • 阿里云百炼智能体连接云数据库实践(DMS MCP)
  • Qt事件_xiaozuo
  • Baseline|基线
  • Linux: proc: pid: coredump_filter
  • Redis搭建哨兵模式一主两从三哨兵
  • GO入门(一)——安装和了解
  • MySQL底层数据结构与算法浅析
  • “设计深圳”亚洲权威消费科技与室内设计盛会
  • CVPR 强化学习模块深度分析:连多项式不等式+自驾规划
  • 在Linux的环境下安装GitLab(保姆级别)
  • 打造高效外贸网站:美国服务器的战略价值
  • 阻塞,非阻塞,同步,异步的理解
  • Windows 下 MSYS2 + MinGW-w64 配置 Fyne GUI 编译环境全流程
  • 【计算机408计算机网络】第三章:自底向上五层模型之数据链路层
  • WINTRUST!_GetMessage函数分析之CRYPT32!CryptSIPGetSignedDataMsg函数的作用是得到nt5inf.cat的信息
  • 【算法】链表专题
  • 钉钉补卡事件处理方案
  • uni-app 跨平台项目的 iOS 上架流程:多工具组合的高效协作方案
  • 常见视频封装格式对比
  • 从零开始学习单片机16
  • 数据结构——线性表(链表,力扣中等篇,增删查改)