• 4125阅读
  • 3回复

各位帮忙,qt/embedded编译出错 [复制链接]

上一主题 下一主题
离线letueo
 

只看楼主 倒序阅读 楼主  发表于: 2008-11-29
— 本帖被 XChinux 执行加亮操作(2008-11-30) —
如题:错误消息如下:
make[1]: Entering directory `/usr/local/gui/qt-2.3.8'
cd src/moc; make
make[2]: Entering directory `/usr/local/gui/qt-2.3.8/src/moc'
make[2]: 没有什么可以做的为 `all'。
make[2]: Leaving directory `/usr/local/gui/qt-2.3.8/src/moc'
rm -f bin/moc
cp src/moc/moc bin/moc
make -f src-mt.mk
make[2]: Entering directory `/usr/local/gui/qt-2.3.8'
(not building threaded Qt)
make[2]: Leaving directory `/usr/local/gui/qt-2.3.8'
cd src; make
make[2]: Entering directory `/usr/local/gui/qt-2.3.8/src'
g++  -c -I/usr/local/gui/qt-2.3.8/include  -pipe -DQWS -fno-exceptions -fno-rtti -O2 -fno-default-inline -Wall -W -DNO_DEBUG -fPIC -DQT_NO_IMAGEIO_MNG -DQT_NO_QWS_SNAP -DQT_NO_QWS_VOODOO3 -DQT_NO_QWS_MACH64 -DQT_NO_QWS_MATROX -DQT_NO_QWS_VNC -DQT_NO_QWS_VGA_16 -DQT_BUILTIN_GIF_READER=0 -DQT_NO_IMAGEIO_MNG -DQT_NO_SM_SUPPORT -DQT_NO_XKB  -I3rdparty/freetype/src -I3rdparty/freetype/include -I3rdparty/freetype/builds/unix -I3rdparty/kernel -I3rdparty/tools -o allmoc.o allmoc.cpp
/usr/local/gui/qt-2.3.8/include/qdatetime.h:51: 警告: ‘class QDate’ 有虚函数却没有虚析构函数
/usr/local/gui/qt-2.3.8/include/qjpunicode.h:91: 警告: ‘class QJpUnicodeConv’ 有虚函数却没有虚析构函数
/usr/local/gui/qt-2.3.8/include/qsortedlist.h: In destructor ‘QSortedList<type>::~QSortedList()’:
/usr/local/gui/qt-2.3.8/include/qsortedlist.h:50: 错误: ‘clear’ 的实参不依赖模板参数,所以 ‘clear’ 的声明必须可用
/usr/local/gui/qt-2.3.8/include/qsortedlist.h:50: 错误: (如果您使用 ‘-fpermissive’,G++ 会接受您的代码,但是允许使用未定义的名称是过时的风格)
/usr/local/gui/qt-2.3.8/include/qasyncimageio.h: At global scope:
/usr/local/gui/qt-2.3.8/include/qasyncimageio.h:48: 警告: ‘class QImageConsumer’ 有虚函数却没有虚析构函数
kernel/qnetworkprotocol.h:60: 警告: ‘class QNetworkProtocolFactoryBase’ 有虚函数却没有虚析构函数
/usr/local/gui/qt-2.3.8/include/qpolygonscanner.h:48: 警告: ‘class QPolygonScanner’ 有虚函数却没有虚析构函数
/usr/local/gui/qt-2.3.8/include/qrangecontrol.h:52: 警告: ‘class QRangeControl’ 有虚函数却没有虚析构函数
/usr/local/gui/qt-2.3.8/include/qtooltip.h:87: 警告: ‘class QToolTip’ 有虚函数却没有虚析构函数
/usr/local/gui/qt-2.3.8/include/qfiledialog.h:77: 警告: ‘class QFilePreview’ 有虚函数却没有虚析构函数
/usr/local/gui/qt-2.3.8/include/qxml.h:214: 警告: ‘class QXmlReader’ 有虚函数却没有虚析构函数
/usr/local/gui/qt-2.3.8/include/qxml.h:402: 警告: ‘class QXmlContentHandler’ 有虚函数却没有虚析构函数
/usr/local/gui/qt-2.3.8/include/qxml.h:419: 警告: ‘class QXmlErrorHandler’ 有虚函数却没有虚析构函数
/usr/local/gui/qt-2.3.8/include/qxml.h:428: 警告: ‘class QXmlDTDHandler’ 有虚函数却没有虚析构函数
/usr/local/gui/qt-2.3.8/include/qxml.h:436: 警告: ‘class QXmlEntityResolver’ 有虚函数却没有虚析构函数
/usr/local/gui/qt-2.3.8/include/qxml.h:443: 警告: ‘class QXmlLexicalHandler’ 有虚函数却没有虚析构函数
/usr/local/gui/qt-2.3.8/include/qxml.h:456: 警告: ‘class QXmlDeclHandler’ 有虚函数却没有虚析构函数
/usr/local/gui/qt-2.3.8/include/qwindowsystem_qws.h:222: 警告: ‘class QWSServer::KeyboardFilter’ 有虚函数却没有虚析构函数
make[2]: *** [allmoc.o] 错误 1
make[2]: Leaving directory `/usr/local/gui/qt-2.3.8/src'
make[1]: *** [sub-src] 错误 2
make[1]: Leaving directory `/usr/local/gui/qt-2.3.8'
make: *** [init] 错误 2
主要是出现了这个错误:
/usr/local/gui/qt-2.3.8/include/qsortedlist.h:50: 错误: ‘clear’ 的实参不依赖模板参数,所以 ‘clear’ 的声明必须可用
/usr/local/gui/qt-2.3.8/include/qsortedlist.h:50: 错误: (如果您使用 ‘-fpermissive’,G++ 会接受您的代码,但是允许使用未定义的名称是过时的风格)
网上也有网友提出这个问题,但是没有得到解决,希望各位能够帮个忙,在此先谢谢了!
[ 此贴被XChinux在2008-11-30 01:01重新编辑 ]
离线letueo

只看该作者 1楼 发表于: 2008-12-01
我下载的是qt-embedded-2.3.8,下完之后如下:
tar zxvf qt-embedded-2.3.8.tar.gz
cd ./qt-embedded-2.3.8
export QTDIR=$PWD
export QTEDIR=$QTDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -qconfig local -qvfb -depth 16,32
sudo make
开始是出现了一下错误:
/usr/local/gui/qt-2.3.8/include/qwindowsystem_qws.h:229: 错误:‘QWSInputMethod’ 未
定义错误
所以我就在该文件中加了一个类class QWSInputMethod;
再次运行时就出现了上面所列出的问题。请各位指教!
离线letueo

只看该作者 2楼 发表于: 2008-12-05
该问题可以更换编译环境来解决:redhat9+arm-linux-gcc3.0版本以上
离线masski

只看该作者 3楼 发表于: 2008-12-16
我 给你 个我的编译过程吧
我的是TMAKE 1。11          QT/EMBEDDED  2.3.7      qt/x11 2.3.2
解压 tmake 控制台进入该目录  export TMAKEDIR=$PWD/tmake-1.11
export TMAKEPATH=$TMAKEDIR/lib/qws/iinux-X86-g++
export PATH=$TMAKEDIR/bin:$PATH
解压 2.3.7 控制台进入该目录  export QTDIR=$PWD
export QTEDIR=$QTDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
到这个论坛 找 个 qconfig-local.h放到2.3.7的 /src/tools文件夹下
./configure -xplatform linux-arm-g++ -shared -debug -qconfig local -qvfb -depths 4,8,16,32
有一个GPL什么的  输入yes
没什么错误的话输入  make
等待一段时间后  有显示:The Qt library is now built in ./lib
The Qt examples are built in the directories in ./examples
The Qt tutorials are built in the directories in ./tutorial

Note: be sure to set $QTDIR to point to here or to wherever
      you move these directories.

Enjoy!  - the Trolltech team

这个就说明成功了

然后解压 2.3.2 进入目录 ./configure -no-opengl -no xft
make 又要等一段时间
make -C -tools/qvfb
mv tools/qvfb/qvfb bin
cp /bin/uic $QTEDIR/bin

到次结束  中间可能会有错误 
快速回复
限100 字节
 
上一个 下一个