MacOS 配置 Qt 开发环境

文章目录

安装 Xcode

App Store 中搜索直接安装

安装 Qt

MacOS 在线安装 Qt 加速方式,从官网下载 qt-online-installer-macOS-x64

perl 复制代码
seer@seerdeMac-mini qt-online-installer-macOS-x64-4.10.0.app % cd Contents 
seer@seerdeMac-mini Contents % ls
_CodeSignature	Info.plist	MacOS		PkgInfo		Resources
seer@seerdeMac-mini Contents % cd MacOS 
seer@seerdeMac-mini MacOS % ls
qt-online-installer-macOS-x64-4.10.0
seer@seerdeMac-mini MacOS % ./qt-online-installer-macOS-x64-4.10.0 --mirror https://mirrors.cloud.tencent.com/qt/

创建项目(CMake)

加上 MACOSX_BUNDLE

bash 复制代码
if(APPLE)
        add_executable(${PROJECT_NAME} MACOSX_BUNDLE ${SOURCES} ${HEADERS} ${FORMS})
else()
        add_executable(${PROJECT_NAME} WIN32 ${SOURCES} ${HEADERS} ${FORMS} ICO.rc)
endif()

会生成 appName.app ,显示包内容如下

其中 Contents/MacOS/中就有你生成的 appName (unix执行文件)

打包 (.dmg)

安装 Homebrew

perl 复制代码
#安装
curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh
#安装后验证 brew 是否可用 
brew --version
#安装create-dmg
brew install create-dmg
#验证是否可用
create-dmg --version

制作.app生成.dmg脚本

创建 install.sh (不要从 windows 拷贝过来)

bash 复制代码
#!/bin/bash

# 定义变量
APP_NAME="appName"
APP_PATH="../appName.app" # 请确保此路径正确,指向实际的 .app 文件
DMG_NAME="${APP_NAME}_Installer"
SOURCE_FOLDER="/tmp/${APP_NAME}_dmg_source"
BACKGROUND_IMG="./logo.png" # 请确保此图片文件存在
VOLUME_NAME="${APP_NAME} Installer" # 名称中可包含空格

# 清理并创建临时工作区
echo "准备临时目录..."
rm -rf "$SOURCE_FOLDER"
mkdir -p "$SOURCE_FOLDER"

# 关键步骤:将应用程序复制到源文件夹
echo "复制应用程序..."
# 请检查 APP_PATH 指向的 .app 包是否存在
if [ -d "$APP_PATH" ]; then
    cp -R "$APP_PATH" "$SOURCE_FOLDER/"
else
    echo "错误:未在路径 '$APP_PATH' 找到应用程序。请检查 APP_PATH 变量。"
    exit 1
fi

# 清理可能存在的旧 DMG 文件
rm -f "${DMG_NAME}.dmg"

# 使用 create-dmg 创建磁盘映像
echo "开始创建 DMG 文件..."
create-dmg \
  --volname "$VOLUME_NAME" \
  --background "$BACKGROUND_IMG" \
  --window-pos 200 120 \
  --window-size 800 450 \
  --icon-size 100 \
  --icon "appName.app" 240 190 \
  --hide-extension "appName.app" \
  --app-drop-link 550 190 \
  "${DMG_NAME}.dmg" \
  "$SOURCE_FOLDER"

# 检查命令是否成功
if [ $? -eq 0 ]; then
    echo "✅ DMG 文件创建成功: ${DMG_NAME}.dmg"
else
    echo "❌ DMG 文件创建失败。"
    exit 1
fi

如果没有运行权限,可以通过

sudo chmod a+x install.sh #修改为运行权限

相关推荐
半杯咖啡半行码2 小时前
Qt 开发基础:版本演进、常用工具与多平台安装
开发语言·qt
Lancker7 小时前
没有 Mac 也能上架 iOS:GitHub Actions 全自动构建 + 签名 + TestFlight 送审实录
macos·ios·github
qq_401700417 小时前
Qt Signal Mapper:一堆按钮,怎么共用一个槽函数
开发语言·qt
Python图像识别7 小时前
35-【2027毕设】YOLO11中草药检测识别系统 - Python完整源码+PyQt5界面+训练模型+数据集
python·qt·课程设计
Lhan.zzZ8 小时前
Qt/QML:业务记录单展示、签名确认与 PDF 导出开发
c++·qt·pdf
Quz18 小时前
QML 动画选择:GIF与Lottie 的区别,以及 Qt 6.8 与 6.11 的 Lottie 实现差异
qt
时间的拾荒人1 天前
Qt 界面美化实战:QSS 样式表
开发语言·qt·面试
qq_401700411 天前
Qt 串口/网口通信:Hex 与 ASCII 编码转换深度指南
开发语言·数据库·qt
fei_sun1 天前
RIB、FIB、MAC 、ARP 表
服务器·网络·macos
Highcharts.js1 天前
如何在macOS桌面应用集成Highcharts
macos·highcharts·前端可视化·交互图表