环境:CentOS 5, GCC 4.1.1, QT 4.4.0, Open Source Edition, x11 version.
下载下来 qt-x11-opensource-src-4.4.0.tar.gz,约 100M,解压,
Run configure 命令,选择不需要 SVG 模块,./configure -debug -no-svg
然后在 run make 命令,failed。
也曾经尝试过其它的配置,如,不需要 webkit, not qt3 support, etc, everyone successful,
但愿 QT 的下一个 release 解决这个问题。
这里是 build failed information:
./configure -debug -no-svg
vgview.cpp: In constructor ‘SvgRasterView::SvgRasterView(const QString&, QWidget*)’:
svgview.cpp:56: error: invalid use of undefined type ‘struct QSvgRenderer’
svgview.h:55: error: forward declaration of ‘struct QSvgRenderer’
svgview.cpp:58: error: no matching function for call to ‘SvgRasterView::connect(QSvgRenderer*&, const char [17],
SvgRasterView* const, const char [15])’
../../../include/QtCore/../../src/corelib/kernel/qobject.h:199: note: candidates are: static bool QObject::connect(const
QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)
../../../include/QtCore/../../src/corelib/kernel/qobject.h:300: note: bool QObject::connect(const
QObject*, const char*, const char*, Qt::ConnectionType) const
svgview.cpp: In member function ‘virtual void SvgRasterView::paintEvent(QPaintEvent*)’:
svgview.cpp:69: error: invalid use of undefined type ‘struct QSvgRenderer’
svgview.h:55: error: forward declaration of ‘struct QSvgRenderer’
svgview.cpp: In member function ‘virtual QSize SvgRasterView::sizeHint() const’:
svgview.cpp:78: error: invalid use of undefined type ‘struct QSvgRenderer’
svgview.h:55: error: forward declaration of ‘struct QSvgRenderer’
svgview.cpp: In member function ‘virtual void SvgRasterView::wheelEvent(QWheelEvent*)’:
svgview.cpp:92: error: invalid use of undefined type ‘struct QSvgRenderer’
svgview.h:55: error: forward declaration of ‘struct QSvgRenderer’
svgview.cpp: In constructor ‘SvgNativeView::SvgNativeView(const QString&, QWidget*)’:
svgview.cpp:109: error: invalid use of undefined type ‘struct QSvgRenderer’
svgview.h:55: error: forward declaration of ‘struct QSvgRenderer’
svgview.cpp:111: error: no matching function for call to ‘SvgNativeView::connect(QSvgRenderer*&, const char [17],
SvgNativeView* const, const char [10])’
../../../include/QtCore/../../src/corelib/kernel/qobject.h:199: note: candidates are: static bool QObject::connect(const
QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)
../../../include/QtCore/../../src/corelib/kernel/qobject.h:300: note: bool QObject::connect(const
QObject*, const char*, const char*, Qt::ConnectionType) const
svgview.cpp: In member function ‘virtual void SvgNativeView::paintEvent(QPaintEvent*)’:
svgview.cpp:118: error: invalid use of undefined type ‘struct QSvgRenderer’
svgview.h:55: error: forward declaration of ‘struct QSvgRenderer’
svgview.cpp: In member function ‘virtual QSize SvgNativeView::sizeHint() const’:
svgview.cpp:124: error: invalid use of undefined type ‘struct QSvgRenderer’
svgview.h:55: error: forward declaration of ‘struct QSvgRenderer’
svgview.cpp: In member function ‘virtual void SvgNativeView::wheelEvent(QWheelEvent*)’:
svgview.cpp:131: error: invalid use of undefined type ‘struct QSvgRenderer’
svgview.h:55: error: forward declaration of ‘struct QSvgRenderer’
make[3]: *** [.obj/debug-shared/svgview.o] Error 1
make[3]: Leaving directory `/home/kevin/tmp/qt-x11-opensource-src-4.4.0/examples/painting/svgviewer'
make[2]: *** [sub-svgviewer-make_default] Error 2
make[2]: Leaving directory `/home/kevin/tmp/qt-x11-opensource-src-4.4.0/examples/painting'
make[1]: *** [sub-painting-make_default] Error 2
make[1]: Leaving directory `/home/kevin/tmp/qt-x11-opensource-src-4.4.0/examples'
make: *** [sub-examples-make_default-ordered] Error 2
[kevin@localhost qt-x11-opensource-src-4.4.0]$