2013-07-30 87 views
2

我安裝了最新版本的Qt(5.1),當我嘗試使用macdeployqt工具在Mac上部署我的應用程序時,該應用程序仍然無法在其他Mac上使用。它完全在我的Mac上工作,並不表示任何錯誤。經過研究,我發現這一點,我認爲這是我的問題:Qt 5.1 and Mac: Bug making macdeployqt not working properlyhttps://bugreports.qt-project.org/browse/QTBUG-14699 但這個解釋對我來說太過於技術(+英語而不是我的母語),我是一個完整的初學者,你能解釋我該怎麼做只需讓我的應用在Mac上工作?一步步 ?它在Windows上具有完美的功能(使用標準dll)。Macdeployqt無法正常工作

非常感謝你,我認爲這會幫助很多初學者都經歷同樣的問題。

+0

你自己給出答案。閱讀你的第一個鏈接部分「更新,如何部署:」並遵循它。一般:1.修復雙斜槓。 2.編譯你自己的macdeployqt。 3.用qml目錄調用macdeployqt。 –

回答

2

您可以使用3種工具來整理Qt for OS X(MacOS)的部署。

  1. macdeployqt:此工具會收集所有您的應用程序聲明在其項目需要,將它們添加到應用程序包,以便讓應用程序知道在哪裏可以找到他們更新其路徑的Qt庫。

  2. otool:用於檢查二進制文件的內容複雜的工具,但在這種情況下,與-L參數一起使用,將顯示路徑的所有應用程序將引用庫。這些是它將尋找這些圖書館的途徑。

  3. install_name_tool:由於macdeployqt只處理由您的應用程序所需的Qt庫,你可以使用install_name_tool更新的路徑,你的應用程序需要的任何其他庫。例如,如果您的應用程序依賴於單獨的非Qt框架,則需要進行後期編譯步驟以將框架複製到應用程序包中,然後使用install_name_tool更新框架的路徑。

如果您有任何問題,請檢查庫/框架已被複制到正確的位置的應用程序包,然後使用otool -L檢查的路徑。如果有不正確的地方,請使用name_install工具來修復它們。

如果您仍然無法得到它的工作,請編輯您的問題,使用otool -L增加輸出。

請注意,歷史上,各種版本的Qt都有macdeployqt實用程序的缺陷,所以如果它不能正常工作,您可能還需要check the qt bug tracker

+0

謝謝你的回答,但我已經嘗試過了,但仍然無法正常工作......我只是讓Windows應用程序可用,因爲它讓我感到緊張,它不應該比使用macdeployqt工具更復雜 – Pomologue

+0

這並不困難,一旦你明白髮生了什麼事情。在可執行文件上運行otool -L的輸出。例如:otool -L /應用程序/計算器/內容/ MacOS /計算器 – TheDarkKnight

+0

您好,非常感謝您堅持並希望提供幫助,它非常酷,善良。我使用Mac將應用程序發送給了很多朋友,最後我注意到只有運行小牛(10.9)的應用程序出現問題。之後的Google搜索中,我發現Qt根本不支持小牛隊。它非常簡單。 – Pomologue