文章目录
- 本博文的简述or解决问题?
- 该博文系列:
- 开发平台环境:
- 项目在MacOS平台发布:
- 新的方法(2020-05-22):
- 旧的方法(2019-02-10):
- 下载/系列地址:
简介: qt项目在MacOS平台上面发布成可执行程序.app,或是免安装的绿色版本、亦或者安装形式的安装包。
本博文的简述or解决问题?
qt项目在MacOS平台上面发布成可执行程序.app,或是免安装的绿色版本、亦或者安装形式的安装包。亲测有效。测试项目参见 QT5/C++项目:基于QT的跨平台网络对战象棋
实现了QT5的项目在windows、Linux、MacOS、Android平台的发布
该博文系列:
- qt项目在MacOS平台上面发布成可执行程序.app
- qt项目在Linux平台上面发布成可执行程序.run
- qt项目在Windows平台上面发布成可执行程序.exe
- qt项目在Android平台的发布(未单独列举出来)
开发平台环境:
????: MacOS 10.14.6 ???? Qt 5.12.8 ???? gcc/g++ 9.2 ???? gdb8.3
项目在MacOS平台发布:
新的方法(2020-05-22):
前提: 进入 /Users/xmuli/Qt5.12.8/5.12.8/clang_64/bin 路径下
- 打包为
*.app格式:./macdeployqt /Users/xmuli/project/github/build-ChineseChess-Desktop_Qt_5_12_8_clang_64bit-Release/ChineseChess.app - 打包为
*.dmg格式:./macdeployqt /Users/xmuli/project/github/build-ChineseChess-Desktop_Qt_5_12_8_clang_64bit-Release/ChineseChess.app -dmg
旧的方法(2019-02-10):
(1)同样子,在MacOS的Qt Creator里面编译运行Release版本的ChineseChess项目。
(2)打开build-ChineseChess-Desktop_Qt_5_9_7_clang_64bit-Release文件夹。进到该目录,会看到有一个ChineseChess.app。这个并不是文件,而是一个目录,只是OS X系统看到某个目录的扩展名是app,就会将其认为是Bundle目录,所以双击会直接执行(当必须要是真正的Bundle)。

(3)使用QT提供了一个非常方便的打包工具macdeployqt,该文件位于如下目录
/Users/yuanyi/Qt5.9.7/5.9.7/clang_64/bin,可以将这个目录加入到PATH环境变量中。这里有点复杂,(需要注意的是,Unix【MacOS就是其中一种】及类Unix系统里,每行结尾只有换行“n”,Windows系统里面,每行结尾是换行+回车“nr”)。当在终端里面,将上面目录路径添加到PATH之后。输入一下命令在终端。
:set ff=unix #转换为unix格式
:wq #保存、退出
方可保存和退出成功。
(4)现在只需要执行如下的命令,系统就会自动该着Bundle,把相关的文件和目录都放到Bundle中的相关位置。命令语句如下:
macdeployqt ChineseChess.app
(5)处理完后,Bundle的目录结构发生改变,很明显,macdeployqt命令将相关文件和目录都放到了Bundle中。现在将这个处理完的ChineseChess.app复制到任何OS X系统上都可以运行了,无论安装没安装QT,都可以运行




下载/系列地址:
- GitHub: ChineseChess『荐』
- Gitee: ChineseChess
你的 star 和 fork 是对我最大的支持。也欢迎学习这个系列的 QT/DTK 学习,附学习由浅入深的目录
打包体验程序,下载地址: releases
最后
以上就是大气果汁最近收集整理的关于qt项目在MacOS平台上面发布成可执行程序.app的全部内容,更多相关qt项目在MacOS平台上面发布成可执行程序内容请搜索靠谱客的其他文章。
发表评论 取消回复