• 5938阅读
  • 2回复

关于Qt embedded4.5.0的移植 [复制链接]

上一主题 下一主题
离线carigia
 
只看楼主 倒序阅读 楼主  发表于: 2009-05-05
刚刚开始接触Qt。因为工作的平台是公司自己的一套Mips系统,所以想把QtEmbedded移植到这个平台上来做开发。可是现在在编译上就有了问题。
网上很多关于Qt4.5的交叉编译的帖子,不过大多数是在Arm的平台上进行的。
我仿照这些帖子,把交叉编译器所在目录加入了环境变量(假设为/opt/cross-mips/usr/bin/mips-linux-×××,如/opt/cross-mips/usr/bin/mips-linux-g++),下载了QtEmbedded4.5的source,解压缩之后,运行如下命令进行config:
./configure -prefix /opt/qt/QtEmbedded/ -prefix-install -embedded mips -qvfb -big-endian -no-largefile -no-xmlpatterns -no-qt3support -no-scripttools
config进行的很顺利,但是开始make以后,log显示如下:
make[1]: Entering directory `/opt/qt/qt-embedded-linux-opensource-src-4.5.0/src/tools/bootstrap'
g++ -c -pipe -fno-exceptions -O2 -fPIC -Wall -W -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -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 -I../../../mkspecs/qws/linux-x86-g++ -I. -I../../../include -I../../../include/QtCore -I../../../include/QtXml -I../../3rdparty/zlib -I.uic/release-shared-emb-mips -o .obj/release-static-emb-mips/qisciicodec.o ../../corelib/codecs/qisciicodec.cpp
系统用来make的似乎仍然是系统自带的g++
我怎么才能让系统用我想指定的交叉编译器来进行编译而不要用自带的那些g++呢?
离线sunnysun520
只看该作者 1楼 发表于: 2009-05-06
重新指定PATH环境变量
离线carigia
只看该作者 2楼 发表于: 2009-05-06
是我弄错了。交叉编译器指定正确,只是编译刚开始的时候是在tool目录中,所以用的是系统的gcc。
编译中出现两个错误:
In file included from concurrent/qfutureinterface.cpp:43:
concurrent/qfuture.h:120:105: error: macro "index" requires 2 arguments, but only 1 given
concurrent/qfuture.h:121:89: error: macro "index" requires 2 arguments, but only 1 given
In file included from concurrent/qfutureinterface.cpp:43:
concurrent/qfuture.h: In constructor 'QFuture<T>::const_iterator::const_iterator(const QFuture<T>*, int)':
concurrent/qfuture.h:120: error: expected `(' before '{' token
concurrent/qfuture.h: In copy constructor 'QFuture<T>::const_iterator::const_iterator(const QFuture<T>::const_iterator&)':
concurrent/qfuture.h:121: error: expected `(' before '{' token
gmake[1]: *** [.obj/release-shared-emb-mips/qfutureinterface.o] Error 1

是否有人在交叉编译时遇到同类错误呢?
[ 此帖被carigia在2009-05-06 14:29重新编辑 ]
快速回复
限100 字节
 
上一个 下一个