导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→有没有高人做过基于s3c2410的QT开发的?帮帮我可以吗?[isocool]

 *第33399篇: 有没有高人做过基于s3c2410的QT开发的?帮帮我可以吗?

  
楼 主:isocool 2005年7月25日17:21
 有没有高人做过基于s3c2410的QT开发的?帮帮我可以吗?
现在我所在单位在做基于s3c2410的手持设备开发,液晶图形界面开发选用了QT,我是完全的新手,参考了一些资料,已经可以把QT/Embeded装上了,
具体过程总结如下:
我装的是QT/Embedded 2.3.8,解压后进入该目录,然后输入了如下代码:
export QTDIR=$PWD
export QTEDIR=$QTDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
然后用./configure -xplatform linux-x86-g++ -thread -qvfb设置通过
make也没有问题 
make后可以执行在qvfb中执行观察到example中的例子了。
   但是以上过程是基于pc的linux平台做的,现在我想把这个qtembed移植到2410的开发板上,参考开发板的手册,它是这么说的:“如果想做交叉编译,需设置好configs目录下的平台文件linux-arm-g++-shared,将其中的arm编译器设成2410的编译器”,保存该文件,并用./configure -xplatform linux-x86-g++ -thread编译。
  这个文件的内容如下:

# Compiling
INTERFACE_DECL_PATH = .
SYSCONF_CXX= arm-linux-g++
SYSCONF_CC= arm-linux-gcc
DASHCROSS= -arm

# Compiling with support libraries
SYSCONF_CXXFLAGS_X11= 
SYSCONF_CXXFLAGS_QT= -I$(QTDIR)/include
SYSCONF_CXXFLAGS_QTOPIA= -I$(QPEDIR)/include
SYSCONF_CXXFLAGS_OPENGL= -I/usr/X11R6/include

# Compiling YACC output
SYSCONF_CXXFLAGS_YACC     = -Wno-unused -Wno-parentheses

# Linking with support libraries
SYSCONF_RPATH_X11= 
SYSCONF_RPATH_QT= -Wl,-rpath,$(QTDIR)/lib
SYSCONF_RPATH_QTOPIA= -Wl,-rpath,$(QPEDIR)/lib
SYSCONF_RPATH_OPENGL= -Wl,-rpath,/usr/X11R6/lib

# Linking with support libraries
# X11
SYSCONF_LFLAGS_X11= 
SYSCONF_LIBS_X11= 
# Qt, Qt+OpenGL
SYSCONF_LFLAGS_QT= -L$(QTDIR)/lib
SYSCONF_LFLAGS_QTOPIA= -L$(QPEDIR)/lib
SYSCONF_LIBS_QT= -lqte$(QT_THREAD_SUFFIX)
SYSCONF_LIBS_QT_OPENGL= 
SYSCONF_LIBS_QTOPIA= -lqtopia
# OpenGL
SYSCONF_LFLAGS_OPENGL= -L/usr/X11R6/lib
SYSCONF_LIBS_OPENGL= 
# Yacc
SYSCONF_LIBS_YACC= 

# Linking applications
SYSCONF_LINK= arm-linux-gcc
SYSCONF_LFLAGS= 
SYSCONF_LIBS= -lm

# Link flags for shared objects
SYSCONF_LFLAGS_SHOBJ= -shared

# Flags for threading
SYSCONF_CFLAGS_THREAD= -D_REENTRANT
SYSCONF_CXXFLAGS_THREAD= -D_REENTRANT
SYSCONF_LFLAGS_THREAD= 
SYSCONF_LIBS_THREAD=  -lpthread

# Meta-object compiler
SYSCONF_MOC= $(QTDIR)/bin/moc

# UI compiler
SYSCONF_UIC= $(QTDIR)/bin/uic

# Linking shared libraries
#   - Build the $(TARGET) library, eg. lib$(TARGET).so.2.2.2
#   - Place target in $(DESTDIR) - which has a trailing /
#   - Usually needs to incorporate $(VER_MAJ), $(VER_MIN) and $(VER_PATCH)
#
SYSCONF_LINK_SHLIB= arm-linux-gcc
SYSCONF_LINK_TARGET_SHARED= lib$(TARGET).so.$(VER_MAJ).$(VER_MIN).$(VER_PATCH)
SYSCONF_LINK_LIB_SHARED=  $(SYSCONF_LINK_SHLIB) -shared -Wl,-soname,lib$(TARGET).so.$(VER_MAJ)     $(LFLAGS) -o $(SYSCONF_LINK_TARGET_SHARED)     $(OBJECTS) $(OBJMOC) $(LIBS) && mv $(SYSCONF_LINK_TARGET_SHARED) $(DESTDIR); cd $(DESTDIR) && rm -f lib$(TARGET).so lib$(TARGET).so.$(VER_MAJ) lib$(TARGET).so.$(VER_MAJ).$(VER_MIN); ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).so; ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).so.$(VER_MAJ); ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).so.$(VER_MAJ).$(VER_MIN)

# Linking static libraries
#   - Build the $(TARGET) library, eg. lib$(TARGET).a
#   - Place target in $(DESTDIR) - which has a trailing /
#
SYSCONF_AR= arm-linux-ar cqs
SYSCONF_LINK_TARGET_STATIC = lib$(TARGET).a
SYSCONF_LINK_LIB_STATIC= rm -f $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) ; $(SYSCONF_AR) $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) $(OBJECTS) $(OBJMOC) 
# Compiling application source
SYSCONF_CXXFLAGS= -pipe -DQWS -fno-exceptions -fno-rtti -O2 -Wall -W -DNO_DEBUG
SYSCONF_CFLAGS= -pipe -O2 -Wall -W
# Default link type (static linking is still be used where required)
SYSCONF_LINK_LIB= $(SYSCONF_LINK_LIB_SHARED)
SYSCONF_LINK_TARGET= $(SYSCONF_LINK_TARGET_SHARED)
# Compiling library source
SYSCONF_CXXFLAGS_LIB= -fPIC
SYSCONF_CFLAGS_LIB= -fPIC
# Compiling shared-object source
SYSCONF_CXXFLAGS_SHOBJ= -fPIC
SYSCONF_CFLAGS_SHOBJ= -fPIC
# Linking Qt
SYSCONF_LIBS_QTLIB= $(SYSCONF_LFLAGS_X11) $(QT_LIBS_MT) $(QT_LIBS_OPT)
# Linking Qt applications
SYSCONF_LIBS_QTAPP= 

我把其中和编译有关的部分都改成自己的交叉编译工具所在路径了,如
SYSCONF_CXX = arm-linux-g++
改成SYSCONF_CXX = /opt/host/armv4l/bin/armv4l-unknown-linux-g++ 等等,然后编译也通过了,做make也没有报错。但是make后把example里的可执行文件通过nfs挂到2410平台上,结果执行时报错。
我想,是否还是需要结合平台来设置一些什么文件或者参数呢,是否还要针对平台的液晶屏幕设置什么文件再做相应的编译?我的2410平台是mizilinux的,还请高手们给点指导意见,不胜感激
 

  
2楼:sqlarm 2005年7月27日09:38
 re
关注
  
3楼:newabc 2005年11月3日11:29
 虽然我也遇到了和您类似的问题,但我觉得您
虽然我也遇到了和您类似的问题,但我觉得您的处理方法不大对,您还没有完成qte在主机上的安装,怎么就交叉编译了呢?

>>>>>>对该主题发表你的看法

本主题贴数3,分页: [第1页]


[上一篇主题]:硬件

[下一篇主题]:请教摇控器控制小车主函数里的部分代码意思