2014-09-22 65 views
1

我已經能夠創建一個依賴於Qt5.2.1中的webkit和腳本的應用程序。但是我能夠爲14.04版本的Ubuntu創建一個deb包。但是我怎樣才能使它成爲獨立的應用程序。我見過靜態的動態構建。我嘗試了靜態構建,但我不知道如何將靜態構建包含在webkit中。也可以使用共享庫方法創建獨立應用程序。請在此處幫助我。如何爲所有unix版本創建qt應用程序?

+0

這幾乎總是丟失因爲1.它是不可支持的。 2.它沒有利用平臺庫中可能存在的任何平臺特定的調整。您應該定義您支持的分發版本,並僅爲這些分發版本構建,以提供本地軟件包。 – 2014-09-22 09:50:11

回答

0

部署動態鏈接的Qt應用程序:

您應該沿着可執行文件的發佈版本放置Qt文件。這些是libQtCore.so,libQtGui.so,可能還有其他您已使用的模塊。這些文件位於lib文件夾中的已安裝Qt目錄中或目錄/usr/lib/i386-linux-gnu中。如果你使用的是插件,你應該把它們的文件放在一個名爲plugins的文件夾旁邊。在使用圖標和圖像的情況下,您應該將其文件如libqico.solibqsvg.so發送到名爲imageformats的文件夾中。

需要收集的共享庫:

如果你希望你的應用程序的裸露安裝了Linux獨立運行,你應該收集所有相關共享庫,並把它們在你的應用程序目錄。您可以簡單地通過名爲cpld的shell腳本來完成。您可以輕鬆地將所有依賴項複製到一個文件夾。

這是值得一提的是,你可以把這個在你的.pro文件,使動態連接器在同一目錄看作在Linux中運行時您的Qt應用程序:

unix:{ 
    # suppress the default RPATH if you wish 
    QMAKE_LFLAGS_RPATH= 
    # add your own with quoting gyrations to make sure $ORIGIN gets to the command line unexpanded 
    QMAKE_LFLAGS += "-Wl,-rpath,\'\$$ORIGIN\'" 
} 
+0

我在文件夾名稱依賴項中添加了共享庫依賴項,並將其添加爲當前工作目錄中的QMAKE_LFLAGS_RPATH = dependecy/.pro文件,例如app-1.0。但生成可執行文件並檢查它仍指向系統路徑像usr/lib ro usr/inc如何從當前工作目錄app-1.0中指出它 – Dev 2014-09-22 07:30:38

相關問題