QT在linux上的釋出,寫給小白看的,老手略過
我也是個小白,以前在win上釋出Qt程式感覺很easy,Release了之後,到目錄下執行exe檔案,提示缺什麼dll就拷貝什麼dll到目錄下就好了。linux上大致相同,但是還是有些許的區別的。
1.linux上Release了之後,也是缺庫 ,缺的是 .so 的庫
2.linux上不會提示缺什麼庫,自己查
3.linux上不僅要庫,還要對應庫的 軟連結
4.修改環境變數,讓路徑指向當前目錄下,執行shell指令碼,而不是可執行變數
以上四條你可能都不明白,但是照著下邊的做就ok了
1.用 “ldd 可行路徑” 看你的程式都缺啥庫 (就找那個"not found")
1.1新建一個txt,把這些貼上進去
ln -s libicudata.so.53.1 libicudata.so.53ln -s libicui18n.so.53.1 libicui18n.so.53
ln -s libicuuc.so.53.1 libicuuc.so.53
ln -s libQt5Core.so.5.4.1 libQt5Core.so.5
ln -s libQt5DBus.so.5.4.1 libQt5DBus.so.5
ln -s libQt5Gui.so.5.4.1 libQt5Gui.so.5
ln -s libQt5Widgets.so.5.4.1 libQt5Widgets.so.5
(PS:這些都是最基本的庫,一般都會缺這些玩意,如果你的程式還用到其他的,照這個格式再寫上去。)
1.2 然後字尾改成 .sh,在終端輸入 sh ./XXX.sh就可以了 你會發現你的目錄下多了很多帶箭頭的檔案,每個庫都對應有一個。
這其實就是建立的軟連結
2.在建一個跟你工程同名的txt文件,把這段複製進去,換成你路徑。 然後 同樣字尾改成 .sh
2.1#--------------------------
env |grep LIB
export LD_LIBRARY_PATH=.
export QT_PLUGIN_PATH=你的路徑/platforms
export LD_LIBRARY_PATH=你的路徑/platformsLD_LIBRARY_PATH
#--------------------------
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" !="/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname $*
2.2 把platforms拷貝到你的工程目錄下
2.3同樣執行剛才這個.sh 好了,這個時候你能程式應該能起來了。
3.為了方便,我把“platforms” “第一sh(CreateSoftLink.sh)” "第二sh(你的工程名.sh)" 。“platforms” “第一sh(CreateSoftLink.sh)”直接用就好了。至於“你的工程名.sh”把漢字部分換成你的“工程名”“路徑”就可以了
1.linux上Release了之後,也是缺庫 ,缺的是 .so 的庫
2.linux上不會提示缺什麼庫,自己查
3.linux上不僅要庫,還要對應庫的 軟連結
4.修改環境變數,讓路徑指向當前目錄下,執行shell指令碼,而不是可執行變數
以上四條你可能都不明白,但是照著下邊的做就ok了
1.用 “ldd 可行路徑” 看你的程式都缺啥庫 (就找那個"not found")
1.1新建一個txt,把這些貼上進去
ln -s libicudata.so.53.1 libicudata.so.53ln -s libicui18n.so.53.1 libicui18n.so.53
ln -s libicuuc.so.53.1 libicuuc.so.53
ln -s libQt5Core.so.5.4.1 libQt5Core.so.5
ln -s libQt5DBus.so.5.4.1 libQt5DBus.so.5
ln -s libQt5Gui.so.5.4.1 libQt5Gui.so.5
ln -s libQt5Widgets.so.5.4.1 libQt5Widgets.so.5
(PS:這些都是最基本的庫,一般都會缺這些玩意,如果你的程式還用到其他的,照這個格式再寫上去。)
1.2 然後字尾改成 .sh,在終端輸入 sh ./XXX.sh就可以了 你會發現你的目錄下多了很多帶箭頭的檔案,每個庫都對應有一個。
這其實就是建立的軟連結
2.在建一個跟你工程同名的txt文件,把這段複製進去,換成你路徑。 然後 同樣字尾改成 .sh
2.1#--------------------------
env |grep LIB
export LD_LIBRARY_PATH=.
export QT_PLUGIN_PATH=你的路徑/platforms
export LD_LIBRARY_PATH=你的路徑/platformsLD_LIBRARY_PATH
#--------------------------
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" !="/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname $*
2.2 把platforms拷貝到你的工程目錄下
2.3同樣執行剛才這個.sh 好了,這個時候你能程式應該能起來了。
3.為了方便,我把“platforms” “第一sh(CreateSoftLink.sh)” "第二sh(你的工程名.sh)" 。“platforms” “第一sh(CreateSoftLink.sh)”直接用就好了。至於“你的工程名.sh”把漢字部分換成你的“工程名”“路徑”就可以了
相關文章
- QT如何打包釋出的QT
- QT程式在windows下部署釋出QTWindows
- 寫給小白看的入門級 Java 基本語法,強烈推薦Java
- Qt 專案的打包釋出QT
- 我的文章會在掘金上釋出
- 寫給自己看的釋出react靜態資源的方法React
- 送給寫小程式的你。
- “Linux” 小程式釋出 Web 版,現在你可以在 PC 上快速查詢命令啦!LinuxWeb
- “大資料”與“小資料”——寫在新書釋出時大資料新書
- Qt Creator 4.9 釋出QT
- 把oracle RMAN的命令輸出寫在檔案上Oracle
- VS+QT程式釋出QT
- Linux小白看什麼書?Linux
- 蘋果:iOS 14現已安裝在過去四年中釋出的90%的iPhone上蘋果iOSiPhone
- Qt 5.3.1 版本應用程式的釋出問題QT
- 寫給自己的分塊上傳檔案
- iOS開發之將自己寫的小控制元件釋出到Github上iOS控制元件Github
- 在 NEO 上釋出代幣合約
- qt 打包釋出 獲取dllQT
- Qt 5.0 正式版釋出QT
- go大寫匯出的成員才可以在 json 裡出現,小寫開始的不可以GoJSON
- 必看的Linux系統新手進階老手心得Linux
- 寫給國內遊戲開發者的出海小攻略遊戲開發
- 在linux中減小和增大LV的過程與思考Linux
- 給linux新增新硬碟的經過Linux硬碟
- Qt通過Http上傳檔案(路過)QTHTTP
- 寫給初學者的Linux餐前小菜Linux
- 將戰略寫在浪潮之上!《大航海時代:海上霸主》亮相2023騰訊遊戲年度釋出會!遊戲
- 給大家在linux上檔案系統選擇上的一些建議(轉)Linux
- 10 款你可以通過 Wine 在 Linux 上玩的遊戲Linux遊戲
- 10 款你可以透過 Wine 在 Linux 上玩的遊戲Linux遊戲
- 在 NEO 上使用智慧合約釋出 NFT
- 在 Linux 上使用 Ksnip 註釋截圖Linux
- Qt Creator 4.10 Beta版釋出QT
- Java小白看過來,Java目前的就業前景怎麼樣Java就業
- 深入瞭解Epic在GDC 2023上釋出的公告
- Kettle 在 linux 上的部署Linux
- 寫給自己看的在 Vue 下使用 Typescript 指北VueTypeScript