• 6322阅读
  • 1回复

【提问】利用qt designer开发arm程序遇到的问题  [复制链接]

上一主题 下一主题
离线ip4347
 

只看楼主 倒序阅读 楼主  发表于: 2006-01-17
本人在利用designer为s3c2410开发简单程序时遇到了些问题,详细描述如下:
(一)环境描述
本人在RedHat9.0下开发qte2.3.10和qtopia-free-2.1.1 for arm9
采用三星2410smdk aiji的板子
cross compiler 2.95.3

(二)目前工作进程:
  交叉编译通过了qte,qtopia,
  可以在开发板子上运行qte的一些example,如hello等和完整的qtopia
  准备利用designer开发一些程序在开发板上跑

(三)开发相关工具介绍:  
designer采用的是qt-X11-2.3.2 bin下面的
tmaker采用的是tmaker1.8 for linux-arm-g++
progen也是该tamker bin下面的
uic moc 采用的是交叉编译后的qte2.3.10_target bin下面的

(四)一个简单widget程序开发的步骤描述:
1 运行designer
desiger &

2 做一个简单的240*320的窗口,保存为qtehello.ui

3 写一个main.cpp文件,参考了qte文档中designer中如何写main.cpp的部分
和优龙提供的pdf文档

4 在qtehello.ui目录下,生成一个工程文件
progen -t app.t -o qtehello.pro qtehello.ui
(这步是参照优龙提供的一个pdf文档做的)

5 修改pro文件
pro文件如下
TEMPLATE= app
CONFIG= qt warn_on release
HEADERS= qtehello.h
SOURCES= qtehello.cpp \
main.cpp
INTERFACES= qtehello.ui

6 在该目录下生成makefile文件
tmake -o Makefile qtehello.pro

7 修改Makefile文件
$QTDIR设置成了qte-2.3.10_target目录
其中lib包括qteforarm目录下的lib -lqte和-ljpeg
include是该目录下的include

(五)问题出现了
qte的include目录下没有qtehello.h中包含的头文件
qvariant.h qwidget.h
而这两个头文件却包含在了qt-x11-2.3.2的include中,
因此我把Makefile文件中include部分又加上了qt-x11-2.3.2的include目录
这次问题解决了,找到了上面的头文件,但又出现了新的问题

undefined reference to `QMetaObject::new_metaobject
moc_qtehello.o(.text+0x164): undefined reference to `QMetaObject::new_metaobject(char const *, char const *, QMetaData *, int, QMetaData *, int, QMetaProperty *, int, QMetaEnum *, int, QClassInfo *, int)'
moc_qtehello.o(.rodata+0x16c): undefined reference to `QWidget::dragEnterEvent(QDragEnterEvent *)'
moc_qtehello.o(.rodata+0x170): undefined reference to `QWidget::dragMoveEvent(QDragMoveEvent *)'
moc_qtehello.o(.rodata+0x174): undefined reference to `QWidget::dragLeaveEvent(QDragLeaveEvent *)'
moc_qtehello.o(.rodata+0x178): undefined reference to `QWidget::dropEvent(QDropEvent *)'

我认为是qte的lib里面没有这些函数,它们应该都在qt for x11的函数库里面

但是qtx11不能交叉编译,为此我很困惑,不知该如何解决这个简单的问题了

注明:我看了优龙提供的一个Qt嵌入式图形开发(实战篇).pdf,但是在我这里不行,
请各位指点一下!谢过了!
[ 此贴被XChinux在2006-01-17 15:06重新编辑 ]
只看该作者 1楼 发表于: 2006-01-19
把CONFIG= qt warn_on release该为CONFIG= qtopia warn_on release
快速回复
限100 字节
 
上一个 下一个