компилирование qt3d в Ubuntu - PullRequest
0 голосов
/ 27 апреля 2011

Я пытался следовать http://doc.qt.nokia.com/qt3d-snapshot/qt3d-building.html#installing-plugins

после всего процесса компиляции он застрял:

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 operator!=(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

как мне его скомпилировать? Есть ли способ найти бинарную версию и версию -dev для Ubuntu?

может быть для 64 битной архитектуры?

Ответы [ 2 ]

0 голосов
/ 24 апреля 2012

У меня была такая же проблема. Вам нужна версия Qt 4.8. Текущая версия Qt в репозиториях Ubuntu - 4.7.4. Я решил проблему, добавив бэкпорт KDE (PPA), включающий libqt4-dev:4.8.1, который вы должны сделать:

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

Я сейчас собираю его на oneiric;)

Обратите внимание, что точный панголин, вырастет послезавтра. Она имеет Qt 4.8.1 в своих хранилищах.

0 голосов
/ 04 августа 2011

Я предлагаю использовать стабильную публичную ветку вместо старой ветки labs.Эта ветвь лабораторий некоторое время не поддерживалась.Прежде чем делать что-то еще, перейдите к последним стабильным источникам.

Сказав, что описанные выше проблемы выглядят как некоторые проблемы с Qt 4. Обычно я бы порекомендовал использовать последний Qt SDK - который поставляется со встроенным Qt 4.7in. Но это большая загрузка.

Если вы работаете в Linux, особенно если это последняя версия, такая как Ubuntu Lucid, которая может получить Qt 4.7 - тогда попробуйте:

apt-get build-dep qt4-qmake

On, напримерUbuntu Lucid должен получить все зависимости, включая библиотеки разработки Qt 4.7, что избавит вас от сборки Qt.Затем просто выполните qmake quick3d.pro, чтобы использовать установленную систему qt.

Если вы действительно хотите собрать Qt (возможно, вам нужно иметь возможность помещать операторы qDebug () в библиотеки Qt), тогда вы можете использоватьисточники со страницы загрузок Qt или получить их от gitorious.Затем следуйте линии сборки (как описано в документации по сборке):

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

Qt3D регулярно тестируется на 64-битной версии, поэтому проблем не должно быть.

...