免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1742 | 回复: 0
打印 上一主题 下一主题

QT所开发界面的交叉编译以及QT的移植 [复制链接]

论坛徽章:
8
2015年辞旧岁徽章
日期:2015-03-03 16:54:15午马
日期:2015-02-04 12:00:07羊年新春福章
日期:2015-02-04 11:57:56双子座
日期:2014-12-02 11:44:59金牛座
日期:2014-10-08 16:47:08狮子座
日期:2014-08-29 13:37:46巳蛇
日期:2014-08-26 17:32:29NBA常规赛纪念章
日期:2015-05-04 22:32:03
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-20 21:55 |只看该作者 |倒序浏览
在Linux通过终端与ARM开发板通信:
      #minicom -s
      对终端进行配置
      Serial port setup下:
      A - Serial Device : /dev/ttyS0  ;串口号
      E - Bps/par/Bits : 115200 8N1 ;波特率
      F - Hardware Flow Control :NO
      
      Modem and dialing下:
      去掉A , B ,K 三个选项
      Save as df1 : 对修改后的配置进行保存
      
      退出,重启即可。

      qt-embedded-free-3.1.1的下载以及安装:
      qt-embedded-free-3.1.1的下载网址:
      
ftp://ftp.trolltech.com/qt/source/qt-embedded-free-3.1.1.tar.gz
      可以在终端下使用Ftp方式下载 。

      build文件内容:
      export QTEDIR=$PWD/qt-embedded-free-3.1.1
export QTDIR=$QTEDIR
#export QMAKESPEC=qws/linux-arm-g++
export PATH=$QTEDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTEDIR/lib:$LD_LIBRARY_PATH
#cp /friendly-arm/qt-embeded3.1/qtopia-free-2.1.1/src/qt/qconfig-qpe.h src/tools/
cd $QTEDIR
(echo yes) | ./configure -embedded arm -xplatform qws/linux-arm-g++ -no-cups -depths 8,16,24,32 -thread -qconfig full -qt-mouse-pc -qt-mouse-bus -qt-kbd-tty -qt-kbd-usb
#-qconfig qpe -embedded arm -no-qvfb
#-qvfb
#make -C $QTEDIR/src
#修改~/qt-embedded-free-3.1.1/src/embedded/qkbdusb_qws.cpp, 在78行最后添加":"
       build文件与qt-embedded-free-3.1.1放于同一等级目录下。
       执行命令:
       #./build  ;build同一等级目录下 。
       #gmake  ;qt-embedded-free-3.1.1目录下 。
      
      QT所开发界面的交叉编译:
      我所开发的QT界面文件存于/home/application目录下 。
      删除目录下的.o文件 。 即:application.o , main.o , moc_application.o .
     
      修改Makefile :
      将全部的 QTDIR 替换成 QTEDIR 。
      并在文件开头添加一行 :
      QTEDIR=/public/qt-embedded-free-3.1.1   ;我的qt-embedded-free-3.1.1安装在/public/qt-embedded-free-3.1.1目录下 。
      Makefile内容 :
      Makefile for building: application
# Generated by qmake (1.04a) (Qt 3.1.1) on: Wed Dec 19 13:02:34 2007
# Project:  application.pro
# Template: app
# Command: $(QMAKE) -o Makefile application.pro
#############################################################################
####### Compiler, tools and options
QTEDIR=/public/qt-embedded-free-3.1.1
CC       = arm-linux-gcc
CXX      = arm-linux-g++
LEX      = flex
YACC     = yacc
CFLAGS   = -pipe -Wall -W -O2 -g -DGLX_GLXEXT_LEGACY  -fno-exceptions  -DQT_NO_DEBUG
CXXFLAGS = -pipe -Wall -W -O2 -g -DGLX_GLXEXT_LEGACY -fno-exceptions  -DQT_NO_DEBUG -fno-rtti -DQWS
LEXFLAGS =
YACCFLAGS= -d
INCPATH  = -I$(QTEDIR)/mkspecs/default -I. -I. -I$(QTEDIR)/include
LINK     = arm-linux-g++
LFLAGS   =
LIBS     = $(SUBLIBS) -L$(QTEDIR)/lib -lqte-mt -lm -DQWS
AR       = arm-linux-ar cqs
RANLIB   =
MOC      = $(QTEDIR)/bin/moc
UIC      = $(QTEDIR)/bin/uic
QMAKE    = 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
####### Output directory
OBJECTS_DIR = ./
####### Files
HEADERS = application.h
SOURCES = application.cpp \
  main.cpp
OBJECTS = application.o \
  main.o
FORMS =
UICDECLS =
UICIMPLS =
SRCMOC   = moc_application.cpp
OBJMOC = moc_application.o
DIST    = application.pro
QMAKE_TARGET = application
DESTDIR  =
TARGET   = application
first: all
####### Implicit rules
.SUFFIXES: .c .cpp .cc .cxx .C
.cpp.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $
.cc.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $
.cxx.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $
.C.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $
.c.o:
$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $
####### Build rules
all: Makefile $(TARGET)
$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)
mocables: $(SRCMOC)
$(MOC):
( cd $(QTEDIR)/src/moc ; $(MAKE) )
Makefile: application.pro  $(QTEDIR)/mkspecs/default/qmake.conf
$(QMAKE) -o Makefile application.pro
qmake:
@$(QMAKE) -o Makefile application.pro
dist:
@mkdir -p .tmp/application && $(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) .tmp/application/ && ( cd `dirname .tmp/application` && $(TAR) application.tar application && $(GZIP) application.tar ) && $(MOVE) `dirname .tmp/application`/application.tar.gz . && $(DEL_FILE) -r .tmp/application
mocclean:
-$(DEL_FILE) $(OBJMOC)
-$(DEL_FILE) $(SRCMOC)
uiclean:
yaccclean:
lexclean:
clean: mocclean
-$(DEL_FILE) $(OBJECTS)
-$(DEL_FILE) *~ core *.core
####### Sub-libraries
distclean: clean
-$(DEL_FILE) $(TARGET) $(TARGET)
FORCE:
####### Compile
application.o: application.cpp application.h
main.o: main.cpp application.h
moc_application.o: moc_application.cpp application.h
moc_application.cpp: $(MOC) application.h
$(MOC) application.h -o moc_application.cpp
####### Install
install: all
uninstall:

           修改好Makefile后 , 对所开发的QT界面进行重新
        #make
        完成交叉编译 。
        因为已经修改Makefile中的编译设置 , 所以#make 即可 。






本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/54642/showart_446801.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP