今天想自己交叉编译一下qt的最新版本4.7.2,说下我的编译环境
主机环境为虚拟机下的Fedora 12,交叉编译器是Tiny6410光盘中的arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz,qt4.2.7的配置参数如下
./configure -prefix /opt/Qt4.7 -opensource -embedded arm -xplatform qws/linux-arm-g++ -no-webkit -qt-libtiff -qt-libmng -qt-mouse-tslib -I /usr/local/tslib/include/ -L /usr/local/tslib/lib/ -qt-mouse-pc -no-mouse-linuxtp -no-neon
configure没有问题,gmake的时候出现下面的错误
g++ -c -pipe -I/usr/local/tslib/include/ -fno-exceptions -O2 -Wall -W -DQT_MOC -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_TEXTCODEC -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTSTREAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../../mkspecs/qws/linux-x86-g++ -I. -I. -I. -I../../../include -I../../../include/QtCore -I../../../include/QtXml -I../../xml -o release-shared/main.o main.cpp
g++ -Wl,-rpath-link,/home/workplace/code/qt-everywhere-opensource-src-4.7.2/lib -fno-exceptions -Wl,-O1 -Wl,-rpath,/opt/Qt4.7/lib -Wl,-rpath,/opt/Qt4.7/lib -o ../../../bin/moc release-shared/moc.o release-shared/preprocessor.o release-shared/generator.o release-shared/parser.o release-shared/token.o release-shared/main.o -L/usr/local/tslib/lib/ -L/home/workplace/code/qt-everywhere-opensource-src-4.7.2/src/tools/bootstrap -lbootstrap -L/usr/local/tslib/lib/
/usr/bin/ld: /home/workplace/code/qt-everywhere-opensource-src-4.7.2/src/tools/bootstrap/libbootstrap.a(compress.o): Relocations in generic ELF (EM: 40)
/home/workplace/code/qt-everywhere-opensource-src-4.7.2/src/tools/bootstrap/libbootstrap.a: could not read symbols: File in wrong format
collect2: ld 返回 1
gmake[1]: *** [../../../bin/moc] 错误 1
gmake[1]: Leaving directory `/home/workplace/code/qt-everywhere-opensource-src-4.7.2/src/tools/moc'
gmake: *** [sub-moc-make_default-ordered ] 错误2
网上搜了下说可能是用了X86的交叉编译工具,但是我export $CC时显示arm-linux-gcc啊
不知怎么解决这个问题啊,很想自己编译成功一次啊,求解答!
谢谢!