Qt搭配CLion:Mac电脑M芯片Qt开发环境

server/2025/3/26 4:03:10/

在当今的软件开发领域,跨平台应用的需求日益增长,Qt作为一款流行的C++图形用户界面库,因其强大的功能和易用性而备受开发者青睐。与此同时,CLion作为一款专为C/C++打造的强大IDE,提供了丰富的特性和高效的编码体验。本文将指导您如何在Mac电脑M芯片配置CLionQt的集成环境,使您能够快速开始Qt应用程序的开发。

一、安装Qt

首先我们打开Mac电脑上的终端,在终端中输入命令:

brew install qt

输入命令之后在终端中电脑开始对Qt的各个部分的进行下载,例如下图,现在我们只需要等待即可:

brew install <a class=qt" />

安装Qt时若遇到如下报错:

==> Running `brew cleanup qt`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

在终端中输入以下命令继续:

export HOMEBREW_NO_INSTALL_CLEANUP=TRUE

二、获取Qt版本信息

完成安装后,通过以下命令,获取Qt版本信息:

brew info qt

输入命令后终端显示:

// 这里我的Qt安装路径如下:
/opt/homebrew/Cellar/qt/6.8.2

brew info <a class=qt" />

qt_creator_49">三、安装qt creator

接下来安装 qt creator

brew install --cask qt-creator

brew install --cask <a class=qt-creator" />

qt_creator_61">四、配置qt creator

找到首选项,依次设置 qt 的路径以及 arm64 的应用编译环境

配置<a class=qt creator" />

手动到/opt/homebrew/bin/qmake路径下,找到安装qt时自动下载的qmake:

找到安装<a class=qt时自动下载的qmake" />

绑定 C/C++环境(这里我直接使用XCode自带的)以及Qt:

绑定 C/C++环境

没有报错,基本上就可以了,可以新建一个项目试一下,使用Qt Widgets Application模板

四、创建Qt Widgets Application验证

创建Qt Widgets Application验证

创建Qt Widgets Application验证

创建Qt Widgets Application验证

创建Qt Widgets Application验证
创建Qt Widgets Application验证

运行后,出现以下UI窗口,则配置成功。

配置成功UI窗口

五、配置环境变量

为了保证Qt工具链能够在命令行中被正确识别,请确保您的系统环境变量中包含了Qt的安装路径。这一步骤对于后续CLion项目创建至关重要。

配置环境变量

前文查看过我的QT安装路径如下:

/opt/homebrew/Cellar/qt/6.8.2

配置环境变量:

export PATH="/opt/homebrew/Cellar/qt/6.8.2/bin:$PATH"
export LDFLAGS="-L/opt/homebrew/Cellar/qt/6.8.2/lib"
export CPPFLAGS="-I/opt/homebrew/Cellar/qt/6.8.2/include"

配置环境变量
命令行环境变量生效:

source ~/.bash_profile

六、配置Clion

6.1 新建Qt项目

当一切准备就绪后,打开CLion,并根据提示新建一个Qt Widgets Executable项目。

Clion新建Qt项目

6.2 修改CMakeLists.txt

参照下方代码,修改现有的CMakeLists.txt文件代码:

# 指定 CMake 的最低版本要求为 3.28
cmake_minimum_required(VERSION 3.28)  
# 定义项目的名称为 "Test02"
project(Test02)  # 设置 C++ 编译标准为 C++17  
set(CMAKE_CXX_STANDARD 17)  # 开启自动处理UI文件的功能,让CMake自动将.ui文件转换为对应的C++代码
set(CMAKE_AUTOMOC ON)  
# 开启自动处理MOC(Meta-Object Compiler)的功能,用于处理Qt的信号槽机制相关代码生成
set(CMAKE_AUTORCC ON)  
# 开启自动处理RCC(Resource Compiler)的功能,用于处理资源文件(如图片、样式表等)
set(CMAKE_AUTOUIC ON)  # 查找 Qt6 库并配置其组件。这里指定了需要 Core、Gui 和 Widgets 组件,并且是必须的 (REQUIRED)。
# 如果找不到指定的组件,CMake 配置过程将会失败。
find_package(Qt6 COMPONENTSCoreGuiWidgetsREQUIRED)# 定义项目源文件列表,包含主函数源文件、主窗口源文件、主窗口头文件和主窗口UI文件
add_executable(Test02 main.cpp)  # 将 Qt6 的 Core、Gui 和 Widgets 库链接到名为 "CLion_Qt_Demo" 的可执行文件上。
# 这使得在编译时可以访问 Qt 提供的功能,并且在运行时与这些库链接。
target_link_libraries(Test02Qt6::CoreQt6::GuiQt6::Widgets
)

6.3 运行验证

经过上述步骤,已成功的在Mac电脑中配置好了CLion与Qt的开发环境。
现在,可以尝试运行一下的Qt程序,看看是否能够正常显示UI界面,以此验证配置是否正确。

Clion运行验证


http://www.ppmy.cn/server/177363.html

相关文章

C/S模型-TCP

下图是基于TCP协议的客户端/服务器程序的一般流程&#xff1a; TCP协议通讯流程 服务器调用socket()、bind()、listen()完成初始化后&#xff0c;调用accept()阻塞等待&#xff0c;处于监听端口的状态&#xff0c;客户端调用socket()初始化后&#xff0c;调用connect()发出SY…

神思智飞无人机智能调度系统介绍

神思智飞无人机智能调度系统介绍 神思智飞是神思电子技术股份有限公司自主研发的无人机智能调度系统,定位为无人机的“智慧大脑”,通过AI、大数据与通信技术的融合,实现无人机集群的自主化、智能化调度与协同作业,广泛应用于智慧交通、森林防火、应急救援、城市治理等低空…

Vue学习汇总(JS长期更新版)

文章目录 一、开始  二、基础 目录 一、开始 1、[Vue]VsCode快捷键 二、基础 1、[Vue]模版语法        2、[Vue]属性绑定        3、[Vue]条件渲染        4、[Vue]列表渲染

github上传文件方法格式

echo "# myHtmlFirst1.0" >> README.md git init git add README.md(这条指令改成下面的) git add . git commit -m "first commit" git branch -M main git remote add origin gitgithub.com:xxxxxxxxx/myHtmlFirst1.0.git git push -u origin ma…

做到哪一步才算精通SQL

做到哪一步才算精通SQL-Structured Query Language 数据定义语言 DDL for StructCREATE&#xff1a;用来创建数据库、表、索引等对象ALTER&#xff1a;用来修改已存在的数据库对象DROP&#xff1a;用来删除整个数据库或者数据库中的表TRUNCATE&#xff1a;用来删除表中所有的行…

Unity 从零开始的框架搭建1-7 FSM有限状态机与其应用示例

本文小白可能看不懂,所以引路:​​​​​​【最用心 の Unity百宝箱】4. 有限状态机_哔哩哔哩_bilibili 当然,我不是按照小棋这么写的,但是思想都是一样的 另外说句题外话,配合动画状态机的函数用代码去控制逻辑才是真理,大量连线会导致项目无法维护,比如unity商店某Poly FPS P…

搭建刷题专业版小程序系统

在这个知识竞争激烈的时代&#xff0c;无论是准备职业资格考试&#xff0c;还是为了学业提升&#xff0c;刷题都是必不可少的学习环节。然而&#xff0c;面对市面上五花八门的刷题小程序&#xff0c;盗版多、功能不完善、二次开发困难等问题层出不穷。今天&#xff0c;就给大家…

Cursor IDE 入门指南

什么是 Cursor? Cursor 是一款集成了 AI 功能的现代代码编辑器&#xff0c;基于 VSCode 开发&#xff0c;专为提高开发效率而设计。它内置强大的 AI 助手功能&#xff0c;能够理解代码、生成代码、解决问题&#xff0c;帮助开发者更快、更智能地完成编程任务。 基础功能 1.…