qte應用程序編譯與執(zhí)行.ppt_第1頁
qte應用程序編譯與執(zhí)行.ppt_第2頁
qte應用程序編譯與執(zhí)行.ppt_第3頁
qte應用程序編譯與執(zhí)行.ppt_第4頁
qte應用程序編譯與執(zhí)行.ppt_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

qte應用程序編譯與執(zhí)行,1 編譯應用程序的步驟,(1) /home/xiers/qt3/for_arm/qt-embedded-free-3.1.1/bin/qmake project (2)/home/xiers/qt3/for_arm/qt-embedded-free-3.1.1/bin/qmake (3)make,和pc端 qt程序的編譯步驟一樣,只是采用qte 的qmake:,修改makefile文件 (1) 使用Compiler, tools and options 模板,以上第1、2步完成后,發(fā)現(xiàn)makefile的cc是gcc,這顯然不對。因此在第3步make之前,需要修改makefile。 修改方法:將編譯安裝好的qte的examples里的一個應用程序的makefile打開,比如打開:/home/xiers/qt3/for_arm/qt-embedded-free-3.1.1/examples/aclock/Makefile。將Compiler, tools and options部分全部拷貝到覆蓋自己項目的makefile的相應部分。,2 修改makefile文件(2),# Compiler, tools and options CC = arm-linux-gcc CXX = arm-linux-g+ LEX = flex YACC = yacc CFLAGS = -pipe -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED CXXFLAGS = -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED LEXFLAGS = YACCFLAGS= -d INCPATH = -I/home/xiers/qt3/for_arm/qt-embedded-free-3.1.1/mkspecs/qws/linux-arm-g+ -I. -I/include -I.moc/release-shared-mt-emb-arm/ LINK = arm-linux-g+ LFLAGS = LIBS = $(SUBLIBS) -Wl,-rpath,/home/xiers/qt3/for_arm/qt-embedded-free-3.1.1/lib -L/home/xiers/qt3/for_arm/qt-embedded-free-3.1.1/lib -lqte-mt -ldl -lpthread AR = ar cqs RANLIB = MOC = /home/xiers/qt3/for_arm/qt-embedded-free-3.1.1/bin/moc UIC = /home/xiers/qt3/for_arm/qt-embedded-free-3.1.1/bin/uic -L /home/xiers/qt3/for_arm/qt-embedded-free-3.1.1/plugins QMAKE = /home/xiers/qt3/for_arm/qt-embedded-free-3.1.1/bin/qmake TAR = tar -cf GZIP = gzip -9f COPY = cp -f COPY_FILE= $(COPY) -p COPY_DIR = $(COPY) -pR DEL_FILE = rm -f SYMLINK = ln -sf DEL_DIR = rmdir MOVE = mv -f CHK_DIR_EXISTS= test -d MKDIR = mkdir p,修改makefile文件 (3) uic的修改,如果使用到了designer,生成了.ui文件,那么對它的編譯要用到uic命令。但是qte3.1.1并沒有編譯出uic命令,可以使用qt(pc端)的。將上面的UIC修改如下: UIC = /usr/lib/qt-3.1/bin/uic -L /usr/lib/qt-3.1/plugins 其中/usr/lib/qt-3.1是qt的安裝路徑,修改makefile文件 (4) 頭文件的修改,頭文件需要指定,上例中的 /home/xiers/qt3/for_arm/qt-embedded-free-3.1.1/examples/aclock采用-I/include包含了頭文件。但是我們自己的項目并不在qte路徑下,所以最好給定絕對路徑。修改如下: INCPATH = -I/home/xiers/qt3/for_arm/qt-embedded-free-3.1.1/mkspecs/qws/linux-arm-g+ -I. -I/include -I.moc/release-shared-mt-emb-arm/ -I/home/xiers/qt3/for_arm/qt-embedded-free-3.1.1/include 其實就是加了一個絕對路徑 -I/home/xiers/qt3/for_arm/qt-embedded-free-3.1.1/include,指定交叉編譯器,需要使用編譯qte時的交叉編譯器,否則有些程序會編譯出錯。在qt-embedded-free-3.1.1.tar.gz編譯總結.doc中有說明。編譯器路徑是:/usr/local/arm/2.95.3/bin/ 因此在編譯應用程序前,即qmake之前,先要設置編譯qte程序的交叉編譯器,可以這樣: PATH= /usr/local/arm/2.95.3/bin/:$PATH 這樣的設置只是臨時的,重啟機器,或者在另一個終端下是無效的。如果想長期使用這個編譯器,可以source到/root/.bash_profile里面。最好別這樣,因為,原來的交叉編譯器是默認的,怕編譯試驗箱其他程序的時候出錯。,在目標機上運行,由于lib比較大,可以通過nfs的方式運行目標程序。 (1)在本機(pc)上建立一個nfs目錄,將編譯好的應用程序和整個lib拷貝到該目錄下。然后將該路徑mount到目標機上。 (2)進入該路徑,設置qt運行的環(huán)境變量: export QTDIR=$PWD export LD_LIBRARY_PATH=$PWD/lib export LANG=zh_CN export QWS_MOUSE_PROTO=MouseMan:/dev/input/mouse0 最后一個環(huán)境變量是支持鼠標的,該設備也可能是/dev/mice需要通過l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論