我使用的系统是ret hat 9, qt版本是qt-x11-free-3.3.2 , qte版本是是qt-2.3.7。
现在我在xwindows下使用qt-x11-free-3.3.2的designer,设计好了一个图形界面,其目录下有以下文件:
[aaa@localhost metric]$ ls
form1.ui form1.ui.h main.cpp metirc.pro
运行:
[aaa@localhost metric]qmake -o Makefile metirc.pro
[aaa@localhost metric]make
后就生成了 metirc :
[aaa@localhost metric]$ ls
form1.ui form1.ui.h main.cpp Makefile metirc metirc.pro
运行metirc:
[aaa@localhost metric]$ ./metric
就可以在xwindows下正常运行该程序。
接下来我要把该程序编译成arm的运行代码:
在.bashrc上修改了我的环境变量为QTE的环境:
PATH=$PATH:~/tmake-1.13/bin:/usr/local/arm/2.95.3/bin
#================================================================
QTDIR=~/qt-2.3.7
LD_LIBRARY_PATH=~/qt-2.3.7/lib:$LD_LIBRARY_PATH
TMAKEPATH=~/tmake-1.13/lib/qws/linux-arm-g++
#-------------------------------------------------------------------
#QTDIR=~/qt-x11-free-3.3.2
#LD_LIBRARY_PATH=~/qt-x11-free-3.3.2/lib:$LD_LIBRARY_PATH
#TMAKEPATH=~/tmake-1.13/lib/linux-g++
#================================================================
export QTDIR TMAKEPATH PATH LD_LIBRARY_PATH
重新登陆后回到原来的工程目录,执行:
[aaa@localhost metric]$ tmake -o Makefile metric.pro
就会出现:
tmake error: metirc.pro:2: Syntax error
metric.pro 是qt-x11-free-3.3.2的designer生成的,其内容:
SOURCES += main.cpp
unix {
UI_DIR = .ui
MOC_DIR = .moc
OBJECTS_DIR = .obj
}
FORMS = form1.ui
TEMPLATE =app
CONFIG += qt warn_on release
LANGUAGE = C++
如果删掉designer生成的metric.pro,使用qmake -project来生成metric.pro的话:
[aaa@localhost metric]$ qmake -project
[aaa@localhost metric]$ tmake -o Makefile metric.pro
就可以生成Makefile,可是执行make生成arm的执行代码就会失败:
[aaa@localhost metric]$ make
/home/pmingj/qt-2.3.7/bin/uic form1.ui -o ./form1.h
/home/pmingj/qt-2.3.7/bin/uic: error while loading shared libraries: /home/pmingj/qt-2.3.7/lib/libqte.so.2: ELF file OS ABI invalid
make: *** [form1.h] Error 127
这时候metric.pro的内容:
######################################################################
# Automatically generated by qmake (1.07a) Thu Nov 10 10:52:14 2005
######################################################################
TEMPLATE = app
INCLUDEPATH += .
# Input
HEADERS += form1.ui.h
INTERFACES += form1.ui
SOURCES += main.cpp
我以前曾经使用
[aaa@localhost metric]$ qmake -project
[aaa@localhost metric]$ tmake -o Makefile t1.pro
[aaa@localhost metric]$ make
编译出qt的教程程序helloworld,并在arm上运行。
请问问题出在哪里?是不是qt-x11-free-3.3.2和qte的qt-2.3.7不能搭配使用?谢谢。
[ 此贴被XChinux在2005-11-10 22:41重新编辑 ]