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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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