當你用Qt開發好程序后,是不是會很期待將你的成果分享給你的小伙伴
可是Qt的庫並不是OS X標配的,所以我們要自己去復制庫到app包里,才可以讓app在其他未安裝Qt的電腦上運行。
比較幸運的是,Qt為我們提供了macdeployqt工具,借助於此,在OS X上發布Qt寫的程序幾乎是所有平台中最簡單的。
注:我電腦配置了Qt的bin環境,所以可以直接使用macdeployqt
如果沒配置,可以用絕對路徑去找。
macdeployqt在我電腦上的絕對路徑是:/Applications/Qt5.4.1/5.4/clang_64/bin/macdeployqt
1.發布widgets程序
1.1:這個比較方便。選擇Release模式,編譯
1.2:運行macdeployqt
對於我的工程,命令是:
macdeployqt /Users/Jason/Desktop/build-untitled-Desktop_5_4_0_64bit-Release/untitled.app -dmg
然后回車,就打包好了。
之后我們會發現,app目錄下多了一個dmg文件
此dmg文件,里面的app就是我們發布的app了。把dmg拷貝給別人,別人就可以直接使用了。
注:如果直接拷貝app文件給別人,別人是無法直接運行的,會有權限問題(要用chmod給可執行文件加上x權限才可以運行)。
而壓縮過(zip或者dmg)后,拷貝給別人,別人是可以直接運行,沒有權限問題。
注:-dmg的意思就是在拷貝好庫后,生成一個dmg文件,可以不加這個參數。
2.發布quick2程序
這個相對麻煩一點
2.1:然后,Release模式,編譯
2.2:打開終端,先切換編譯的目標目錄下
對於我的工程,命令是:
cd /Users/Jason/Desktop/build-untitled-Desktop_5_4_0_64bit-Release
2.3:運行macdeployqt
對於我的工程,命令是:
macdeployqt untitled.app -qmldir=../untitled -dmg
然后回車,就打包好了。
注:和widgets發布程序不同,untitled.app 這個名字,要直接輸入,不要寫 ./untitled.app 或者是其他的 絕對/相對 路徑,不然打包出來的文件無法使用!!會報錯!!!
注2:-qmldir=../untitled 的意思就是說在 ../untitled 目錄下有qml文件,讓macdeployqt去分析它們,把要用的庫找過來。
參考:http://blog.csdn.net/wsj18808050/article/details/44223065