开发者

compiling qt3d on ubuntu

i have tried to follow the http://doc.qt.nokia.com/qt3d-snapshot/qt3d-building.html#installing-plugins

after all the compiling process it stuck on:

fabio@guanciolo:~/build/qt-labs/qt3d$ make
cd src/ && make -f Makefile 
make[1]: Entering directory `/home/fabio/build/qt-labs/qt3d/src'
cd threed/ && make -f Makefile 
make[2]: Entering directory `/home/fabio/build/qt-labs/qt3d/src/threed'
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_BUILD_QT3D_LIB -DQT_NO_EGL -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qt/mkspecs/linux-g++-64 -I/home/fabio/depot/qt-labs/qt3d/src/threed -I/opt/qt/include/QtCore -I/opt/qt/include/QtNetwork -I/opt/qt/include/QtGui -I/opt/qt/include/QtOpenGL -I/opt/qt/include -I/home/fabio/depot/qt-labs/qt3d/src/threed/global -I/home/fabio/depot/qt-labs/qt3d/src/threed/painting -I/home/fabio/depot/qt-labs/qt3d/src/threed/arrays -I/home/fabio/depot/qt-labs/qt3d/src/threed/effects -I/home/fabio/depot/qt-labs/qt3d/src/threed/materials -I/home/fabio/depot/qt-labs/qt3d/src/threed/geometry -I/home/fabio/depot/qt-labs/qt3d/src/threed/viewing -I/home/fabio/depot/qt-labs/qt3d/src/threed/math3d -I/home/fabio/depot/qt-labs/qt3d/src/threed/scene -I/home/fabio/depot/qt-labs/qt3d/src/threed/graphicsview -I/home/fabio/depot/qt-labs/qt3d/src/threed/textures -I/home/fabio/depot/qt-labs/qt3d/src/threed/surfaces -I/home/fabio/depot/qt-labs/qt3d/src/threed/api -I/usr/X11R6/include -I. -I/home/fabio/depot/qt-labs/qt3d/src/threed -I. -o qglabstracteffect.o /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglabstracteffect.cpp
In file included from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglpainter.h:47:0,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglabstracteffect.h:45,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglabstracteffect.cpp:42:
/opt/qt/include/QtGui/qvector2d.h: In function ‘bool operator==(const QVector2D&, const QVector2D&)’:
/opt/qt/include/QtGui/qvector2d.h:184:24: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qvector2d.h:184:42: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qvector2d.h: In function ‘bool operator!=(const QVector2D&, const QVector2D&)’:
/opt/qt/include/QtGui/qvector2d.h:189:24: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qvector2d.h:189:42: warning: comparing floating point with == or != is unsafe
In file included from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglpainter.h:48:0,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglabstracteffect.h:45,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglabstracteffect.cpp:42:
/opt/qt/include/QtGui/qvector3d.h: In function ‘bool operator==(const QVector3D&, const QVector3D&)’:
/opt/qt/include/QtGui/qvector3d.h:210:24: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qvector3d.h:210:42: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qvector3d.h:210:60: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qvector3d.h: In function ‘bool operator!=(const QVector3D&, const QVector3D&)’:
/opt/qt/include/QtGui/qvector3d.h:215:24: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qvector3d.h:215:42: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qvector3d.h:215:60: warning: comparing floating point with == or != is unsafe
In file included from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglpainter.h:49:0,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglabstracteffect.h:45,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglabstracteffect.cpp:42:
/opt/qt/include/QtGui/qvector4d.h: In function ‘bool operator==(const QVector4D&, const QVector4D&)’:
/opt/qt/include/QtGui/qvector4d.h:214:24: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qvector4d.h:214:42: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qvector4d.h:214:60: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qvector4d.h:214:78: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qvector4d.h: In function ‘bool operator!=(const QVector4D&, const QVector4D&)’:
/opt/qt/include/QtGui/qvector4d.h:219:24: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qvector4d.h:219:42: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qvector4d.h:219:60: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qvector4d.h:219:78: warning: comparing floating point with == or != is unsafe
In file included from /opt/qt/include/QtGui/qmatrix4x4.h:47:0,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglpainter.h:50,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglabstracteffect.h:45,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglabstracteffect.cpp:42:
/opt/qt/include/QtGui/qquaternion.h: In member function ‘bool QQuaternion::isIdentity() const’:
/opt/qt/include/QtGui/qquaternion.h:154:63: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qquaternion.h: In function ‘bool operator==(const QQuaternion&, const QQuaternion&)’:
/opt/qt/include/QtGui/qquaternion.h:239:24: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qquaternion.h:239:42: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qquaternion.h:239:60: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qquaternion.h:239:78: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qquaternion.h: In function ‘bool op开发者_开发百科erator!=(const QQuaternion&, const QQuaternion&)’:
/opt/qt/include/QtGui/qquaternion.h:244:24: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qquaternion.h:244:42: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qquaternion.h:244:60: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qquaternion.h:244:78: warning: comparing floating point with == or != is unsafe
In file included from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglpainter.h:50:0,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglabstracteffect.h:45,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglabstracteffect.cpp:42:
/opt/qt/include/QtGui/qmatrix4x4.h: In member function ‘bool QMatrix4x4::isIdentity() const’:
/opt/qt/include/QtGui/qmatrix4x4.h:309:20: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:309:39: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:309:58: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:311:20: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:311:39: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:311:58: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:313:20: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:313:39: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:313:58: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:315:20: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:315:39: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:315:58: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:317:20: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:317:39: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:317:58: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:319:24: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h: In member function ‘bool QMatrix4x4::operator==(const QMatrix4x4&) const’:
/opt/qt/include/QtGui/qmatrix4x4.h:445:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:446:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:447:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:448:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:449:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:450:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:451:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:452:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:453:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:454:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:455:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:456:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:457:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:458:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:459:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:460:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h: In member function ‘bool QMatrix4x4::operator!=(const QMatrix4x4&) const’:
/opt/qt/include/QtGui/qmatrix4x4.h:465:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:466:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:467:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:468:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:469:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:470:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:471:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:472:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:473:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:474:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:475:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:476:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:477:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:478:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:479:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h:480:35: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h: In function ‘QVector3D operator*(const QVector3D&, const QMatrix4x4&)’:
/opt/qt/include/QtGui/qmatrix4x4.h:623:14: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h: In function ‘QVector3D operator*(const QMatrix4x4&, const QVector3D&)’:
/opt/qt/include/QtGui/qmatrix4x4.h:648:14: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h: In function ‘QPoint operator*(const QPoint&, const QMatrix4x4&)’:
/opt/qt/include/QtGui/qmatrix4x4.h:719:14: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h: In function ‘QPointF operator*(const QPointF&, const QMatrix4x4&)’:
/opt/qt/include/QtGui/qmatrix4x4.h:740:14: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h: In function ‘QPoint operator*(const QMatrix4x4&, const QPoint&)’:
/opt/qt/include/QtGui/qmatrix4x4.h:762:14: warning: comparing floating point with == or != is unsafe
/opt/qt/include/QtGui/qmatrix4x4.h: In function ‘QPointF operator*(const QMatrix4x4&, const QPointF&)’:
/opt/qt/include/QtGui/qmatrix4x4.h:783:14: warning: comparing floating point with == or != is unsafe
In file included from /home/fabio/depot/qt-labs/qt3d/src/threed/math3d/qbox3d.h:46:0,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglpainter.h:51,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglabstracteffect.h:45,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglabstracteffect.cpp:42:
/home/fabio/depot/qt-labs/qt3d/src/threed/math3d/qray3d.h: In member function ‘void QRay3D::transform(const QMatrix4x4&)’:
/home/fabio/depot/qt-labs/qt3d/src/threed/math3d/qray3d.h:125:26: error: ‘const class QMatrix4x4’ has no member named ‘mapVector’
/home/fabio/depot/qt-labs/qt3d/src/threed/math3d/qray3d.h: In member function ‘QRay3D QRay3D::transformed(const QMatrix4x4&) const’:
/home/fabio/depot/qt-labs/qt3d/src/threed/math3d/qray3d.h:130:45: error: ‘const class QMatrix4x4’ has no member named ‘mapVector’
In file included from /home/fabio/depot/qt-labs/qt3d/src/threed/arrays/qcustomdataarray.h:45:0,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/arrays/qglvertexbundle.h:46,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglpainter.h:53,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglabstracteffect.h:45,
                 from /home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglabstracteffect.cpp:42:
/home/fabio/depot/qt-labs/qt3d/src/threed/arrays/qarray.h: In member function ‘QArray<T, PreallocSize>::Data* QArray<T, PreallocSize>::copyData(const T*, int, int)’:
/home/fabio/depot/qt-labs/qt3d/src/threed/arrays/qarray.h:384:5: error: ‘QT_TRY’ was not declared in this scope
/home/fabio/depot/qt-labs/qt3d/src/threed/arrays/qarray.h:384:12: error: expected ‘;’ before ‘{’ token
/home/fabio/depot/qt-labs/qt3d/src/threed/painting/qglabstracteffect.cpp:127:1: error: expected ‘}’ at end of input
make[2]: *** [qglabstracteffect.o] Error 1
make[2]: Leaving directory `/home/fabio/build/qt-labs/qt3d/src/threed'
make[1]: *** [sub-threed-make_default-ordered] Error 2
make[1]: Leaving directory `/home/fabio/build/qt-labs/qt3d/src'
make: *** [sub-src-make_default-ordered] Error 2

how can i compile it? there is way to find binary and -dev version for ubuntu?

maybe is for 64 bit architecture?


I suggest using the stable public branch rather than the old labs branch. That labs branch has not been maintained for a while. Before you do anything else, go get the latest stable sources.

Having said that the problems above look like some issue with Qt 4. Normally I would recommend using the latest Qt SDK - which ships with a Qt 4.7 built in. But its a big download.

If you are on linux, especially if its a recent version like Ubuntu Lucid which can get Qt 4.7 - then try:

apt-get build-dep qt4-qmake

On for example Ubuntu Lucid should get all the dependencies including the Qt 4.7 development libraries, which will save you building Qt. Then just do qmake quick3d.pro to use the installed system qt.

If you really want to build Qt (maybe you have a need to be able to put qDebug() statements in the Qt libs) then you can use the sources from the Qt downloads page, or get them from gitorious. Then follow the build line (as described on the build doc):

 /path/to/qt/configure -developer-build -no-qt3support -no-webkit -no-xmlpatterns \
  -no-phonon -opengl -declarative -nomake demos -nomake examples

Qt3D gets regularly tested on 64 bit so that should not be a problem.


I had the same problem. You need to have the 4.8 version of Qt. Current version of Qt in Ubuntu repositories is 4.7.4. I solved the issue by adding KDE backports (PPA) which includes libqt4-dev:4.8.1 you should do:

sudo add-apt-repository ppa:kubuntu-ppa/backports 
sudo apt-get update
sudo apt-get install libqt4-dev

I'm currently compiling it on oneiric ;)

Please note that the precise pangolin, will rise the day after tomorrow. She has Qt 4.8.1 in her repositories.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜