当前位置: 首页 > 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.xdnf.cn/news/1388773.html

相关文章:

  • 三一重工AI预测性维护破局:非计划停机减少60%,技师转型与数字孪生技术搅动制造业
  • 预制菜餐厅:工业化与温度餐平衡术
  • 【Rust】 5. Trait 与运算符重载
  • Python Imaging Library (PIL) 全面指南:PIL高级图像处理-分割与颜色空间转换
  • [Mysql数据库] 知识点总结6
  • 人工智能-python-深度学习-批量标准化与模型保存加载详解
  • 嵌入式-定时器的从模式控制器、PWM参数测量实验-Day24
  • 快手发布SeamlessFlow框架:完全解耦Trainer与Agent,时空复用实现无空泡的工业级RL训练!
  • OpenTenBase实战:从MySQL迁移到分布式HTAP的那些坑与收获
  • MySQL數據庫開發教學(三) 子查詢、基礎SQL注入
  • java开发连接websocket接口
  • system论文阅读--HPCA25
  • 基于SpringBoot和百度人脸识别API开发的保安门禁系统
  • LubanCat-RK3568 UART串口通信,以及遇到bug笔记
  • 实时音视频延迟优化指南:从原理到实践
  • Less运算
  • (一)Python语法基础(上)
  • C++中float与double的区别和联系
  • 基于STM32设计的智能宠物喂养系统(华为云IOT)_273
  • 迅为RK3588开发板安卓串口RS485App开发-硬件连接
  • 智慧工地源码
  • 如何将iPhone日历传输到电脑
  • Webrtc支持FFMPEG硬解码之Intel
  • 【React】登录(一)
  • 2025 年 8 月《DeepSeek-V3.1 SQL 能力评测报告》发布
  • OpenCV 图像预处理核心技术:阈值处理与滤波去噪
  • 强化学习的“GPT-3 时刻”即将到来
  • 【C语言16天强化训练】从基础入门到进阶:Day 15
  • centos8部署miniconda、nodejs
  • 音频转音频