導航:首頁 > 編程系統 > qtwindows移植到linux

qtwindows移植到linux

發布時間:2025-03-04 23:37:40

1. windows下qt creator編寫的程序如何在linux下執行

qt的可移植性,指的是代碼不用修改,就可以在多個平台編譯通過 然後運行~~
這也就是qt一直說的 code less create more。
所以你需要把源碼文件在linux下再次編譯。

2. qt在linux上和移植時用的到底是哪個qmake

第一步,linux下編譯安裝qt

仍然是用的ok6410提供的qt-everywhere-opensource-src-4.7.1.tar.gz

1、首先在我自己的目錄/z 下新建個qt-x11,將文件拷貝解壓

sudo su (取得root許可權)

mkdir /z/qt-x11

cp qt-everywhere-opensource-src-4.7.1.tar.gz /z/qt-x11 (拷貝到新建的目錄)

tar zxvf qt-everywhere-opensource-src-4.7.1.tar.gz

解壓後查看得到:(其中qte4.7.1Makelog為後來生成的,一開始解壓後沒有,我是安裝完成後截的圖= =)

此處的build-all是飛凌公司寫好的腳本,是用於編譯開發板上的嵌入式的qt的,而此處要編譯linux的qt,因此對其進行修改,

gedit build-all

修改結果如下:主要是去掉環境變數的配置和qt的配置

注意此處將qt安裝在了新建文件夾/opt/qt-x11-4.7.1中,這個目錄要記住,因為後面配置qtcreator的時候要到這里找qmake

然後保存關閉,執行 ./build-all

等待。。。我感覺我等了一個下午,幸虧沒有提醒出錯,要不然我就哭了,編譯成功

第二步:安裝配置qtcreator

下載鏈接:http://download.qt-project.org/ 我都被自己的貼心感動得哭了T T

這里根據系統版本神馬的,我就參考了別人的文章下載了一個版本,姐實在被這些版本弄的想哭了,參考鏈接 http://xiaolong5750.blog.163.com/blog/static/44856246201421405034948/

版本是qt-creator-linux-x86-opensource-2.6.1.bin

1、將下載文件拷貝到/z 目錄下,在終端下,輸入命令

sudo ./qt-creator-linux-x86-opensource-2.6.1.bin

就會出現一個桌面安裝窗口,跟windows一樣安裝就很簡單了

對了,有個插曲,我在安裝過程中終端跳出了一個warning:designer:attempt to add child to。。。我網上搜了下竟然沒搜到這個問題,就直接忽略掉了。。不知道以後會不會有影響。。。

2、接著配置

在主界面中從菜單欄點擊"工具"->"選項"->在左側點擊「構建和運行」界面如下圖所示。

點擊qt版本,有些沒有自動檢測到qmake路徑,這是因為沒設置環境變數,手動添加,將剛安裝的qmake加入:

接著點擊編譯器:已自動檢測到

最後點擊 構建套件,點擊右端添加,

至此配置好用於linux上編譯的qmake,就可以在linux上跑程序了。

3、新建個小程序試下,新建過程參考http://xiaolong5750.blog.163.com/blog/static/44856246201421405034948/

插曲:我新建的時候,到最後跳出對話框說 「無法創建目錄。。。。」 網上查了有人說在安裝qtcreator的時候沒有用root許可權安裝神馬的,害我重裝一遍但也沒解決問題,幸虧最近在看《鳥哥的私房菜》,裡面說了些文件的許可權問題之類的,於是我把自己創建的工程所在的目錄的許可權都改成chmod 777,然後就沒問題了哈哈

建立工程後,build,run 結果如下:

linux

3. 請問Qt軟體在linux系統中如何打包移植

一、准備
busybox 1.14.1
qt-embedded-linux-opensource-src-4.5.1
tslib 1.4
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)
構建一個新的根文件系統目錄,路徑為
/root/rootfs

二、具體步驟:

1、編譯安裝busybox
在官網下載最新版。可以參考如下幾處要修改的地方:
Busybox Settings ---> Build Options ---> (arm-linux-)Cross Compiler prefix
Busybox Settings ---> Installation Options --->[]Dont't use /usr
Busybox Settings ---> Installation Options --->(/root/rootfs) BusyBox installation prefix
Busybox Settings --->Busybox Library Tuning --->[*] Fancy Shell prompts
輸入如下命令,編譯並安裝。
# make;make install

2、編譯安裝tslib
# ./autogen.sh
# ./configure -prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/ -host=arm-linux ac_cv_func_malloc_0_nonnull=yes
# make;make install

安裝目錄指明為 /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/
主要是為了在編譯QTE時,不用指定tslib的頭文件和庫文件,方便以後程序開發。

注意:在做這一步前,需要做一個目錄鏈接
在/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/目錄下
# ln -s ../../usr/include ./

3、編譯安裝QTE
1)、最基本的配置
# ./configure -prefix /usr -embedded arm -xplatform qws/linux-arm-g++ -depths 16 -qt-mouse-tslib
-prefix /usr 使用這個配置,編譯後的QTE庫文件即可放在目標文件系統的/usr/lib下,而不是默認/usr/local/Trolltech/QtEmbedded-4.5.1 這個很深的目錄
2)、編譯
# make
# cp lib/* /root/rootfs/usr/lib -rd 將QTE庫文件拷貝到根文件系統的目錄
# cp plugins /root/rootfs/usr -rd 將QTE插件目錄拷貝到根文件系統的目錄

4、根文件系統的設置
1)、這時/root/rootfs/usr下應該有 bin etc include lib sbin目錄
tslib生成的etc目錄,包含一個tslib的配置文件 nf,編輯此文件,去掉mole_raw input前的注釋
# mv etc ../ 移動到rootfs的根目錄

2)、進行一次清理操作
#arm-linux-strip lib/*.so
#arm-linux-strip usr/lib/*.so

3)、編輯etc/profile,添加以下內容
export QWS_MOUSE_PROTO=Tslib:/dev/event0
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/nf
export TSLIB_PLUGINDIR=/usr/lib/ts

最後,通過mkyaffs2image 製作鏡像,燒寫鏡像,啟動ts_calibrate校驗觸屏即可。

閱讀全文

與qtwindows移植到linux相關的資料

熱點內容
ai基礎圖文教程知識 瀏覽:976
工信局發布哪些數據 瀏覽:184
天正打開文件卡死 瀏覽:446
mt管理器打開應用雙開文件路徑 瀏覽:938
autocad2008制圖教程 瀏覽:834
springbootjson數據 瀏覽:226
如何把所有的文件夾 瀏覽:388
買單反去哪個網站 瀏覽:803
excel怎麼處理橫斷面數據 瀏覽:737
單片機的程序計數器pc 瀏覽:120
電腦怎麼篩選文件夾里的內容 瀏覽:196
uc的壓縮文件如何轉移 瀏覽:259
蘋果安卓搬家用什麼app 瀏覽:169
華為y310能升級嗎 瀏覽:2
u盤文件亂碼怎麼刪除 瀏覽:759
列印掃描文件怎麼保存桌面 瀏覽:5
數據通訊採集模塊多少錢 瀏覽:821
win10如何打開攝像機 瀏覽:408
網路電話不限呼叫次數 瀏覽:3
css文件夾修改路徑 瀏覽:662

友情鏈接