Qt 在MAC 上打包成 APP

主要介绍 在打包中 遇到的问题,以及解决方法,

1>

 采用Qt 自带工具 macdeployqt  具体路径根据你的安装路径(/Users/zhuomeng/Documents/Qt/5.4/clang_64/bin/macdeployqt  )

     macdeployqt    app名称

2>

     执行完后,进入Frameworks目录  (PCTOOL.app/Contents/Frameworks)  这里就是 你app 运行 所依赖环境了(不一定全是)

    如果你到哦app 没有调用 第三方库的话.那么这里 打包就算完成那个.如果调用了第三库.那就继续看了.

3>

 进入 PCTOOL.app/Contents/MacOS/ 目录 里面有一个最终的执行 app ,

 如图: 运行OTOOL -L xxx(app 名称)

你会看到,有的路径有@executale_path  有的路径没有 是以绝对路路径存在的.  有@的意味着 所需要的库 已经成功打进app 中了,

相反 以绝对路径存在的 库是没有打进去的. 运行的时候 会在 你 系统环境下 查找这些库. 如果版本 外发, 客户的系统环境下 没有这些库.那就运行不起来.(你可以回到 步骤2  查看Frameworks 目录, 这些库在Frameworks 目录 下 是不存在的)

 

4> 下面就是 如何将 第三方库 加载到 app  中了

 

咱们 就拿   /usr/lib/libSystem.B.dylib  来 做示范:

如图所示:

 

 

将 /usr/lib/libSystem.B.dylib  复制放到app  Frameworks 目录下.

在用 install_name_tool  -change   old_name(老的绝对路径)       new_name (新的路径 就是在Frameworks 目录下)     app (执行文件)

 

5> 以上操作,就是 MAC 打包的步骤. 如有不对,qq 联系.会更新改正

QQ :1049870353

微信 : yangsenhehe

 

 

如若不太了解 mac app 的结构:请参考 如下链接:

https://www.cnblogs.com/E7868A/archive/2012/12/02/2798225.html

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章