arm-linux-2.95.3交叉编译支持jpeg图像格式的qtopia-free-1.7.0时出现错误:
首先建立目录armqtopia,在此目录下解压qt-x11-2.3.2.tar.gz, qt-embedded-2.3.7.tar.gz 和 qtopia-free-1.7.0.tar.gz ,得到三个目录,更名为qt-x11,qt,qtopia
然后设置:
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
export LD_LIBRARY_PATH=$QTDIR/bin:$LD_LIBRARY_PATH
进入qt-x11目录,进行如下操作:
export QTDIR=$PWD
./configure -system-jpeg -thread -no-xft -no-opengl -sm
make
make -C src/moc
cp src/moc/moc bin
make -C src
make -C tools/designer
make -C tools/qvfb
cp tools/qvfb/qvfb bin
strip bin/uic bin/moc bin/designer bin/qvfb
然后回到armqtopia目录,将qt-x11得到的uic,moc,designer,qvfb拷贝到qt目录的bin下
cd ..
cp -f qt-x11/bin/?* qt/bin
将jpeg库交叉编译,然后拷贝到qt/lib下.
进入qt目录,进行配置,然后make
cd qt
cp ../qtopia/src/qt/qconfig-qpe.h src/tools/
./configure -qconfig qpe -depths 16,24,32 -xplatform linux-arm-g++ -thread -system-jpeg
make
然后对qtopia进行配置和编译:
cd qtopia/src
./configure -xplatform linux-arm-g++
make
编译qt-x11和qt-embeded时,均可以通过,但当编译qtopia时,出现错误;
arm-linux-gcc -L/faback/armqtopia/qtopia/lib -Wl,-rpath,/faback/armqtopia/qtopia/lib -L/faback/armqtopia/qt/lib -Wl,-rpath,/faback/armqtopia/qt/lib -o /faback/armqtopia/qtopia/bin/sysinfo .obj/linux-arm-g++//memory.o .obj/linux-arm-g++//graph.o .obj/linux-arm-g++//load.o .obj/linux-arm-g++//storage.o .obj/linux-arm-g++//versioninfo.o .obj/linux-arm-g++//sysinfo.o .obj/linux-arm-g++//main.o .obj/linux-arm-g++//moc_memory.o .obj/linux-arm-g++//moc_graph.o .obj/linux-arm-g++//moc_load.o .obj/linux-arm-g++//moc_storage.o .obj/linux-arm-g++//moc_versioninfo.o .obj/linux-arm-g++//moc_sysinfo.o -lqpe -lqtopia -lqte -lm
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__fixsfsi'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__subsf3'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__floatsidf'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__adddf3'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__floatsisf'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__divdf3'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__muldf3'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__truncdfsf2'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__mulsf3'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__addsf3'
collect2: ld returned 1 exit status
make[1]: *** [/faback/armqtopia/qtopia/bin/sysinfo] Error 1
make[1]: Leaving directory `/faback/armqtopia/qtopia/src/applications/sysinfo'
make: *** [applications/sysinfo] Error 2
如果去掉-system-jpeg选项,编译可以通过.
请问是什么原因造成的呢?请教各位高人!多谢了!
[ 此贴被XChinux在2005-11-24 23:07重新编辑 ]