在使用Qt编译生成Release版本后,首先需要使用Qt自带的macdeployqt获取app相关的支持类
一、macdeployqt
QT的安装目录中,我是Qt5.9.9
1、macdeployqt的路径位置:Qt5.9.9/5.9.9/clang_64/bin/macdeployqt
这个双击打开是无法使用的
需要点击终端菜单,选择偏好设置
这个时候重新打开终端
就变为了zsh,然后进入app的路径,使用macdeployqt来打包,我这边就遇到了找不到macdeployqt的提示
首先使用命令返回
mooer@FOX Pack % cd ~
mooer@FOX ~ %
然后输入open .zshrc
mooer@FOX ~ % open .zshrc
在打开的文档中输入你的macdeployqt路径:第二段为我输入的,根据大家的macdeployqt位置输入对应路径
保存关闭
输入命令source ~/.zshrc,这样才有效
mooer@FOX ~ % source ~/.zshrc
这个时候再输入
先进入app对应路径
然后使用macdeployqt生成app需要的支持类就可以了
2、第三方库
如果有第三方库可能还需要用到dylib文件,我用到一个一个FFmpeg的库,还是在终端中,先cd到包内容里面的exe路径,将对应第三方库的dylib路径记住
install_name_tool -change libAudioTranscoding.1.dylib @executable_path/../Frameworks/libAudioTranscoding.1.dylib /Users/名称/Pack/X2/名称.app/Contents/MacOS/名称
比如我这个dylib文件就是放在和MacOS同一级的Frameworks文件夹中
当第三方库能使用后,这个时候就可以生成dmg了
二、打包dmg文件
1、
在桌面创建一个dmg的文件夹
将app拷贝进去
然后使用终端cd到这个文件夹里面
ln -s /Applications Applications
添加一个Applications文件的快捷方式
然后打开磁盘工具,选择文件菜单->新建映像-》来自文件夹的映像,选择dmg文件夹里面
2、使用DropDMG
打开这个软件
然后将要打包的文件拖进来
然后编写基本名称后,点击选取就可以了,等待dmg文件生成,
最后生成的dmg文件可以压缩后用来传输
这个时候在dmg文件夹中就有一个dmg,然后压缩,就可以发出去了
注意:dmg文件双击打开后,不是直接点击app文件运行的,需要将app拖到Applications文件夹快捷方式里面,在应用程序中打开,不然会有一些第三方库无法运行
其它:
打开app的显示包内容可以看到多了很多文件
生成dmg:
在后面增加dmg
mooer@FOX X2 % macdeployqt x3.app -dmg
在app的路径下就会生成一个dmg