linuxqt發布
㈠ 如何將 linux+Qt 程序打包發布
qt程序動態打包步驟
1. 從可運行程序的文件中拿出可執行文件
2. 終端下使用ldd命令查看需要的連接庫
例如 ldd + 可執行文件
3. 把ldd查詢到的所有需要的庫導出
4. 編寫.sh文檔(.sh文件命名必須與可執行文件名字一樣例:可執行文件名 test, .sh 文件名為 test.sh)
.sh文件代碼如下:
#!/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 $*
5. 把所用到的庫,可執行文件, .sh文件放到同一目錄下
6. 終端中進入這一目錄,輸入:
chmod +x test.sh
7. 執行程序點擊.sh文件或者終端輸入:
./test.sh
㈡ Qt程序發布後,放在沒有Qt的系統(Linux Redhat6.5)下運行,中文不顯示,已經加了中文字型檔
有設置字體嗎?
一般情況下在Qt安裝目錄的lib目錄下面有字體文件,如果沒有你可以從windows下面拷貝一個「微軟雅黑」過去,然後在main.cpp中配置下app的字體,應該就可以顯示了
#或者在配置啟動腳本的時候設置字體路徑
exportQTDIR=/usr/local/qt5
exportQT_QPA_FONTDIR=$QTDIR/lib/fonts
exportQT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins/
exportLD_LIBRARY_PATH=$QTDIR/lib:/lib:/usr/lib:/opt/libxil/lib:$LD_LIBRARY_PATH
㈢ linux qt怎麼開發安卓apk
不看好Qt for Android。以下簡稱QfA.
1. 跨平台只在pc上有優勢,在移動設備上毫無優勢。移動設備整體的應用風格需要保持一致,你外部加進來一個ui,倒是和平台保持一致了。你如何保持和原生ui的這種使用一致性。
2.在開發易用度上,Android(java) api 已經做得很好,包括事件,廣播,服務等Qt里有的基本上Android api里已經做得很好,從Qt開發者轉為java開發者也很容易。 而如果要寫QfA應用,開發者不僅要懂Qt,同樣也避免不了要寫java代碼。
3. 如果要寫和其它app通信的時候,QfA的災難性就來了。如果是上層的幾乎等完整的搞一遍Android api吧。 另外對於和設備相關的一些調用(GPS/Telephony)等,QfA的工作量一下子就上來了,這時候你還指望qml么?
4.性能呢? QfA對於圖形渲染區的請求還得在java的介面請求,是不是又要繞了個大彎。
5. 軟體體積。 終端用戶要用Qt app,勢必要先裝一個Qt lib, 或者在你的app 中一起靜態發布。
在有很多優秀的QfA app出現之前,大家不帶樂意只為一個好的app 去裝一個大的軟體,而會願意選擇一個原生軟體替代。
㈣ linux發布qt程序怎麼這么復雜
1、首先創建根目錄,再將Qt編譯後的可執行文件放在目錄上。
2、其次目錄下創建一個腳本文件,可以給其可執行許可權命令為,執行腳本文件。
3、最後繼續執行可執行文件會出現錯誤,將文件夾放到沒有Qt環境的linux系統下也可以正常運行程序了。
㈤ 怎麼使Qt發布的程序在非Qt環境的Linux下運行
首先,你開始提到,你裝的是Qt5.3,並用它編譯的程序。但是你提到的,你拷貝的都是Qt4.6的庫
其次,你的開發機 和 目標機 CPU不同,程序是不能直接拷貝的,你需要的是交叉編譯
再次,樹莓軟體倉庫中應該有現成的 Qt,你應該可以直接用,直接在裡面進行程序編譯。
㈥ 怎麼使Qt發布的程序在非Qt環境的Linux下運行
1、在Linux下的命令行編輯程序:
[root@localhost root]# mkdir hello
//mkdir命令創建一個hello目錄
[root@localhost root]# cd hello
//cd命令切換到剛才創建的hello目錄
[root@localhost hello]# vi main.cpp
//在hello目錄中用vi創建一個main.cpp文件 將下面的代碼輸入到main.cpp文件中
#include <QApplication>
#include <QLabel>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QLabel *label = new QLabel(「Hello Qt」);
Label->show();
return app.exec();
}
2、然後在命令行編譯程序:
[root@localhost hello]# qmake –project
//執行qmake –project,因為目錄是hello,因此在hello目錄下生成一個與平台無關的項目文件hello.pro,
[root@localhost hello]# qmake hello.pro
//執行qmake hello.pro項目文件後,在hello目錄下生成一個與平台有關的Makefile文件。
[root@localhost hello]# make
//執行make進行編譯源代碼,並生成main.o目標文件及hello執行文件。
[root@localhost hello]# ./hello
//執行hello,就會彈出Hello Qt窗口,到此說明成功了。
㈦ 請問linux下的Qt程序如何發布
用系統自帶的MHDD工具,里邊有密碼清除工具。網有它的用法。
㈧ Linux下QT打包發布,dirname :not found
cat fileTest.sh 查看打包目錄位置,然後修改,或者./fileTest.sh --help 查看腳本的使用方法。
㈨ linux下qt程序應該怎麼發布程序
1、linux下復制qt release模式生成的可執行文件到桌面的新建目錄。
2、編寫腳本文件ldd.sh 作用:導出可執行程序運行時所需要的庫文件 點擊下載。
3、執行 ./ldd.sh + 可執行程序 在當前的文件夾下生成lib文件。復制lib下的庫文件 與可執行文件同級目錄。
4、到Qt安裝目錄里 找到platform文件夾 我的目錄是 /opt/Qt5.7.0/5.7/gcc_64/plugins/platforms 復制此文件夾與可執行文件同級目錄。
5、復制ldd.sh到platforms文件夾內,執行 ./ldd.sh libqxcb.so 將生成的lib目錄下的庫文件拷貝至可執行文件同級目錄。刪除platforms里的lib文件。
6、執行下載到的腳本文件 ./app.sh
註:app.sh與可執行文件同名。在windows下寫的腳本文件 在linux下使用是出現 /bin/bash^M: bad interpreter:沒有那個文件或目錄 解決辦法
vim 打開腳本文件 :set ff? 顯示 ff=dos 修改成 :set ff=unix :wq保存退出即可