2013-03-11 74 views
2

我试图交叉编译下列选项Qt嵌入式Linux操作系统:的Qt 4.8.4交叉编译嵌入式Linux失败QNetworkProxy错误

(cd /home/user/proj/output/buildroot/build/company-qt-4.8.4; PKG_CONFIG_SYSROOT_DIR="/home/user/proj/output/buildroot/host/usr/arm-buildroot-linux-gnueabi/sysroot" PKG_CONFIG="/home/user/proj/output/buildroot/host/usr/bin/pkg-config" PKG_CONFIG_PATH="/home/user/proj/output/buildroot/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib/pkgconfig:" MAKEFLAGS="w -- -j8" ./configure -silent -force-pkg-config -separate-debug-info -xplatform qws/linux-arm-gnueabi-g++-company -qconfig company -opensource -confirm-license -largefile -no-qt3support -nomake examples -nomake demos -depths 16,32 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-qvfb -qt-gfx-vnc -no-gfx-multiscreen -no-gfx-directfb -no-mouse-pc -no-mouse-linuxtp -qt-mouse-linuxinput -qt-mouse-tslib -no-mouse-qvfb -no-kbd-tty -qt-kbd-linuxinput -no-kbd-qvfb -debug -shared -little-endian -embedded arm -no-gif -no-libmng -system-zlib -system-libjpeg -qt-libpng -no-libtiff -system-freetype -I /home/user/proj/output/buildroot/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/freetype2/ -dbus -qdbus -no-openssl -qt-sql-sqlite -xmlpatterns -exceptions -no-multimedia -no-audio-backend -no-phonon -no-phonon-backend -svg -webkit -script -no-scripttools -javascript-jit -stl -declarative -no-pch -glib -no-gfx-qnx -no-kbd-qnx -no-mouse-qnx -no-xinerama -no-cups -no-nis -no-accessibility -prefix /usr -hostprefix /home/user/proj/output/buildroot/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr -fast -no-rpath) 

我真正需要的WebKit的嵌入式设备和如果我有“-webkit”的配置选项,然后构建最终失败与下面的回溯:

../../../../../include/QtCore/../../src/corelib/tools/qlist.h:418:17: error: invalid use of incomplete type ‘class QNetworkProxy’ 
In file included from ../../../../../include/QtNetwork/qnetworkaccessmanager.h:1:0, 
       from ../../../../../include/QtNetwork/QNetworkAccessManager:1, 
       from platform/network/qt/ProxyServerQt.cpp:32: 
../../../../../include/QtNetwork/../../src/network/access/qnetworkaccessmanager.h:62:7: error: forward declaration of ‘class QNetworkProxy’ 
make[4]: *** [.obj/debug-static-emb-arm/ProxyServerQt.o] Error 1 
make[4]: Leaving directory `/home/user/proj/output/buildroot/build/company-qt-4.8.4/src/3rdparty/webkit/Source/WebCore' 
make[3]: *** [sub-WebCore-make_default-ordered] Error 2 
make[3]: Leaving directory `/home/user/proj/output/buildroot/build/company-qt-4.8.4/src/3rdparty/webkit/Source' 
make[2]: *** [sub-webkit-make_default-ordered] Error 2 
make[2]: Leaving directory `/home/user/proj/output/buildroot/build/company-qt-4.8.4' 
make[1]: *** [/home/user/proj/output/buildroot/build/company-qt-4.8.4/.stamp_built] Error 2 
make[1]: Leaving directory `/home/user/proj/buildroot' 

如果我只删除“-webkit”选项,然后在构建完成就好了。

那么,为什么我会得到QNetworkProxy错误,我该如何解决?谢谢!

编辑:请注意,我也尝试添加以下明确包括QNetworkProxy但我得到完全相同的错误:

-feature-networkproxy 
+0

你正在使用哪个版本的Buildroot?你可以发布你的Buildroot .config文件吗? – 2013-03-12 12:38:13

回答

2

我发现有一个qconfig.h文件被列入该有定义如下:

//Do not need this one 
#ifndef QT_NO_NETWORKPROXY 
# define QT_NO_NETWORKPROXY 
#endif 

这显然是问题所在。