MAC 下 Qt 程序打包

在Mac上使用CMake添加`MACOSX_BUNDLE`生成app文件,通过macdeployqt进行部署,利用`install_name_tool`修改依赖库路径。打包可选择直接生成dmg或先创建app再制作dmg,如有图标需手动设置。最终可通过脚本自动化打包过程。
摘要由CSDN通过智能技术生成

记录下mac下 qt程序的打包

生成app文件

首先在cmake中加入 "MACOSX_BUNDLE",生成app文件,

如果需要图标,则右键app文件,显示简介,然后复制粘贴图标,图标就设置好了 ,不需要图标的话跳过

  •  设置cmake
    add_executable(
        ${PROJECT_NAME}

        MACOSX_BUNDLE  //加入这句话

        main.cpp)
  • 设置图标

 

接下来开始打包: 

  1. 方式一: 启动终端 ,输入以下命令 
    cd /Users/Qt5.12.1/5.12.1/clang_64/bin
    
    ./macdeployqt /Users/bin/unix/Release/test.app
    
    install_name_tool -change "/usr/lib/libSystem.B.dylib" "@executable_path/../Frameworks/libSystem.B.dylib" /Users/bin/unix/Release/test.app/Contents/MacOS/test
    
    install_name_tool -change "/usr/lib/libc++.1.dylib" "@executable_path/../Frameworks/libc++.1.dylib" /Users/bin/unix/Release/test.app/Contents/MacOS/test

    此时app文件中的内容已经准备好, 然后将其放到一个文件夹A中, 在应用程序中找到磁盘工具->文件->新建影像->基于文件夹新建影像,选中文件夹A,然后选择储存路径,等待打包结束得到 dmg文件

  2. 方式二: 启动终端 ,输入以下命令 ,直接得到dmg文件
    cd /Users/Qt5.12.1/5.12.1/clang_64/bin
    
    ./macdeployqt /Users/bin/unix/Release/test.app -dmg

    如果用到了qml,则

    cd /Users/Qt5.12.1/5.12.1/clang_64/bin
    
    ./macdeployqt /Users/bin/unix/Release/test.app -dmg -qmldir=/Users/Qt5.12.1/5.12.1/clang_64/qml
  3. 方式三: 将第二种方式的内容写进脚本​​​​​​,以后每次打包只需要运行下脚本即可 .内容如下,要注意文本的打开方式, 我用qtcreator 打开编辑,脚本运行不了.
  • 如果不需要设置软件图标, 那么打包到此结束了,如果有图标,接着往下看     

        首先用第二种方式打包成功一次(带图标), 然后打开打包好的文件,选中app, 右键点击,显示包内容,找到这个文件"Icon?"

 然后准备一个文件夹,将脚本文件放入,"Icon?" 文件放入

脚本内容如下,第二行就是"Icon?"的路径,$1 代表命令行输入的参数

 然后在命令行输入以下内容并运行,就打包好了:

脚本路径 + 空格 + app文件路径 ,如下:
 /Users/Pictures/test/dmgpack.sh /Users/test/test.app    

打包后如下

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值