Qt在macOS(含第三方库)应用程序打包发布流程

Qt在macOS(含第三方库)应用程序打包发布流程

若不含第三方库只需要执行步骤一即可,打包相关命令均在release工程目录下进行,设置环境变量除外。

1. 生成安装包

macdeployqt utilTest.app -dmg  // 打包release版的app

在qt生成的release工程目录下打开终端运行上述命令
Qt在macOS(含第三方库)应用程序打包发布流程_第1张图片

2. 查看依赖的动态库及其路径

otool -L utilTest.app/Contents/MacOS/utilTest

Qt在macOS(含第三方库)应用程序打包发布流程_第2张图片
libutilLib.1.0.0.dylib为第三方库,需要修改路径,否则程序运行会报错
Qt在macOS(含第三方库)应用程序打包发布流程_第3张图片

3. 修改依赖的动态库的路径

右键生成的utilTest.app,点击“显示包内容”,在Contents/Frameworks目录中创建utilLib目录,将第三方可文件拷贝放到该目录下
Qt在macOS(含第三方库)应用程序打包发布流程_第4张图片

install_name_tool -change "libutilLib.1.0.0.dylib" "@rpath/utilLib/libutilLib.1.0.0.dylib" utilTest.app/Contents/MacOS/utilTest  // 记得在Contents/Frameworks目录中创建一个utilLib目录

注意:若出现command not found: macdeployqt,有两种解决办法,步骤4与步骤5任选其一即可。

4. 输入macdeployqt的完整路径

填写macdeployqt的完整路径,其在qt安装目录下,如博主电脑中的路径. 是:/Users/air/Qt5.14.2/5.14.2/clang_64/bin
Qt在macOS(含第三方库)应用程序打包发布流程_第5张图片

/Users/air/Qt5.14.2/5.14.2/clang_64/bin/macdeployqt ./utilTest.app

5. 设置环境变量

打开终端需要打开配置文件:

   vim .bash_profile

如果bash_profile文件不存在,就会自动创建,然后需要输入以下内容:

   export QTDIR=/Users/用户名/Qt5.14.2 #Qt的安装目录
   export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib #添加Qt库路径
   export PATH=$PATH:$QTDIR/bin #添加指令路径
   export PATH="/Users/用户名/Qt5.14.2/5.14.2/clang_64/bin:$PATH"#添加工具路径

然后保存退出,然后输入source ~/.bash_profile使得这个文件生效。
然后退出终端重新运行,输入:

  echo $PATH

然后就能看到环境变量有Qt的路径:

   /Users/用户名/Qt5.14.2/5.14.2/clang_64/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/用户名/Qt5.6.1/bin

然后输入qmake -v就能看到当前Qt的版本:

   QMake version 3.0 
   Using Qt version 5.14.2 in /Users/用户名/Qt5.14.2/5.14.2/clang_64/lib

这样就可以使用qmake命令了

你可能感兴趣的:(QT,qt)