簡體   English   中英

在linux上部署Qt項目

[英]Deploy a Qt project on linux

這可能是一個noob問題,但我一直在試圖找出如何在linux上靜態構建我的qt項目。 我試着在http://doc.qt.io/qt-5/linux-deployment.html上做了什么,但我不明白第一步。 當我cd到我的qt項目的位置並運行

cd /path/to/Qt
./configure -static -prefix /path/to/Qt <otherparameters>
make
它說沒有這樣的文件或目錄。 我誤解了需要使用的路徑嗎? 我想讓我的qt項目成為一個獨立的可執行文件,它不需要它所擁有的計算機有qt。 我已經閱讀過關於動態鏈接庫的內容,但我真的不知道如何處理它。 部署選項在qtcreator中顯示為灰色,有沒有辦法使用它? 謝謝

/path/to/Qt應該是Qt源的路徑,而不是你的項目的路徑。 文檔的這一部分是關於靜態構建Qt,在嘗試將應用程序靜態鏈接到Qt之前必須執行此操作。 例如,如果您將源代碼/克隆到/home/jxb458/qt5 ,那么您可以將/path/to/Qt替換為:

cd /home/jxb458/qt5
./configure -static -prefix /home/jxb458/qt5/qtbase
make

靜態鏈接在工作時很棒,但它可能是一種努力 - 我特別在使用GUI時發現。 正如Mitch所說,你需要重新構建Qt源代碼

當我在這里靜態構建時,我做了一些注意事項: 關於靜態構建的注釋 (源自許多來源)它們至少應該指向正確的方向 - 你可以忽略關於安裝Ubuntu的部分 - 注意假設一個新安裝。

但是我最近又回到了動態鏈接部署,因為我覺得這是一種更好的部署方式。 您不需要在目標機器上安裝Qt,只需要收集qt dll並將其與您的應用程序一起復制(使用ldd executable-name生成您需要的dll列表 - 但只需使用Qt而不是系統/通用的)。 對於插件,你需要做更多(但它相當簡單)。 我甚至寫了一個bash腳本自動執行此操作(如果需要,我會發送給你),在windows中有一個名為windeployqt的qt腳本(不知道為什么沒有linux變種)。

如果我再次開始研究部署,我會選擇動態鏈接。 也許嘗試一個簡單的項目開始(像一個hello world proj)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM