• 5249阅读
  • 5回复

还是QT/E编译HELLO问题(for arm)! [复制链接]

上一主题 下一主题
离线戒三
 

只看楼主 正序阅读 楼主  发表于: 2006-06-02
昨天发贴解决了在PC机上编译examples的问题,今天想把例子编译成for ARM,格式,所以就按照说明上的配置(如下,应该该是没什么问题的,但是配置我进入ARM-QTOPIA里面的HELLO,make 一下,但是同不过(错误如下),并且我也把LINK改为ARM-LINUX-G++,请高手指点一下.
echo yes | ./configure -static -no-xft -no-opengl -no-sm
make -C src/moc
export QTDIR=$PWD/qt
export QPEDIR=$PWD/qtopia
export TMAKEDIR=$PWD/tmake
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH
cd qt
make clean
cp ../qtopia/src/qt/qconfig-qpe.h src/tools/
(echo yes ; echo no) | ./configure -platform linux-arm-g++ -qconfig qpe -depths 16,24,32
检了点重要的贴上.
/friendly-arm/x86-qtopia/qtopia/lib/libqpe.so: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make: *** [/friendly-arm/x86-qtopia/qtopia/bin/hello] Error 1
[root@localhost hello]# echo $TMAKEPATH
/friendly-arm/x86-qtopia/tmake/lib/qws/linux-arm-g++
[ 此贴被XChinux在2006-06-02 18:35重新编辑 ]
离线戒三

只看该作者 5楼 发表于: 2006-06-05
问题已经解决,还是环境没设置好,只需把/X86-QTOPIA下的 set-env复制到/ARMQTOPIA,更改编译器为LINUX-ARM-G++!感谢Vera!
离线戒三

只看该作者 4楼 发表于: 2006-06-03
我进ARM和X86文件夹的QTOPIA/LIB
[root@localhost lib]# file libqpe.so
libqpe.so: symbolic link to libqpe.so.1.5.2
两者结果是一样的,我把MAKEFIEL文件贴出,谁遇到过同样的问题.
CC     =     arm-linux-gcc
CXX   =     arm-linux-g++
CFLAGS =     -pipe -Wall -W -O2 -DNO_DEBUG
CXXFLAGS=     -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG
INCPATH =     -I /friendly-arm/arm-qtopia/qt/include -I/friendly-arm/arm-qtopia/qtopia/include
LINK   =     arm-linux-g++
LFLAGS =
LIBS   =     $(SUBLIBS) -L$(QPEDIR)/lib -L$(QTDIR)/lib -lm -lqpe -lqtopia -lqte
MOC   =     $(QTDIR)/bin/moc
UIC   =     $(QTDIR)/bin/uic
其中INCPATH我改过,原来是-I /QTDIR/include -I /QPEDIR,改前改后问题一样.
环境参数为:
OLDPWD=/friendly-arm/arm-qtopia
QTDIR=/friendly-arm/x86-qtopia/qt
TMAKEPATH=/friendly-arm/x86-qtopia/tmake/lib/qws/linux-arm-g++
PATH=/friendly-arm/x86-qtopia/qt/bin:/friendly-arm/x86-qtopia/qtopia/bin:/friendly-arm/x86-qtopia/tmake/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/arm/2.95.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
PWD=/friendly-arm/arm-qtopia/hello
XMODIFIERS=@im=Chinput
LANG=zh_CN.GB18030
LAMHELPFILE=/etc/lam/lam-helpfile
GDMSESSION=Default
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
HOME=/root
SHLVL=2
XPVM_ROOT=/usr/share/pvm3/xpvm
LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN
GNOME_DESKTOP_SESSION_ID=Default
BASH_ENV=/root/.bashrc
LOGNAME=root
LESSOPEN=|/usr/bin/lesspipe.sh %s
QPEDIR=/friendly-arm/x86-qtopia/qtopia
DISPLAY=:0.0
G_BROKEN_FILENAMES=1
TMAKEDIR=/friendly-arm/x86-qtopia/tmake
实在不知道是什么原因!
离线戒三

只看该作者 3楼 发表于: 2006-06-03
楼上的说的解决办法没效果,其实我用make clean 就把中间生成的 .O文件删除了,我那出问题是不能读/friendly-arm/x86-qtopia/qtopia/lib/libqpe.so: could not read symbols: Invalid operation
,还望高手指点一下!
离线vera
只看该作者 2楼 发表于: 2006-06-02
我QQ83317422,加我嘎。也是前不久才搞定的,有问题可以一起探讨
离线vera
只看该作者 1楼 发表于: 2006-06-02
你不能直接MAKE,我用的也是友善的板子,他们好象偷了点懒,在/x86-qtopia下的hello文件夹中的东西和/arm-qtopia下hello文件夹中的东西是一样的(他们只是拷贝了一下),
因此/arm-qtopia下hello文件夹里的.o文件都是用linux-generic-g++编译的,而MAKE时又用linux-arm-g++,编译器当然不会认,因此报错:could not read symbols

以上是个人理解哈, 不对的地方还请指教

你可以把/arm-qtopia下hello文件夹备份一下放到别处,重新生成一个hello文件夹,里面只放.cpp .pro .h文件。在TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++的前提下
#tmake hello.pro >> Makefile       //在hello文件夹中生成Makefile
#make
快速回复
限100 字节
 
上一个 下一个