Hi,
I’ve been trying to build Qt5.0.2 for a little while now and am finally down to the last error. When linking in all the static libraries I get a multiple defined symbols error between Qt5Gui and Qt5OpenGL (see attached link output). I have tried swapping the order og Qt5Gui and Qt5OpenGL and (as expected) the error persists. I have looked at the source code and there are definitely 2 different files that define the same class being used by the two different libraries. I’m at the point where I can’t solve this without understanding the specifics of the qt package and so I’m wondering if anyone here can help me out?
Files:
./qtbase/src/gui/opengl/qopenglpaintengine_p.h
./qtbase/src/gui/opengl/qopenglpaintengine.cpp
./qtbase/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
./qtbase/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
Configure:
./configure -static -opensource -confirm-license -nomake tests
Make:
make module-qtbase
make module-qtdeclarative
Link: (relevant parts shown)
-lQt5QuickTest -lQt5QmlDevTools -lQt5QuickParticles -lQt5Quick -lQt5Qml -lQt5V8 -lQt5Network -lQt5PrintSupport -lQt5Concurrent -lQt5Test -lQt5Sql -lQt5Xml -lQt5Widgets -lQt5OpenGL -lQt5Gui -lQt5PlatformSupport -lQt5Core -lz -licui18n -licuuc
/usr/bin/ld: /path/to/my/project/qt/lib/qtbase/libQt5OpenGL.a(qpaintengineex_opengl2.o): previous definition here
/usr/bin/ld: error: /path/to/my/project/qt/lib/qtbase/libQt5Gui.a(qopenglpaintengine.o): multiple definition of 'QOpenGL2PaintEngineState::~QOpenGL2PaintEngineState()'
/usr/bin/ld: /path/to/my/project/qt/lib/qtbase/libQt5OpenGL.a(qpaintengineex_opengl2.o): previous definition here
/usr/bin/ld: error: /path/to/my/project/qt/lib/qtbase/libQt5Gui.a(qopenglpaintengine.o): multiple definition of 'QOpenGL2PaintEngineState::~QOpenGL2PaintEngineState()'
/usr/bin/ld: /path/to/my/project/qt/lib/qtbase/libQt5OpenGL.a(qpaintengineex_opengl2.o): previous definition here
/usr/bin/ld: error: /path/to/my/project/qt/lib/qtbase/libQt5Gui.a(qopenglpaintengine.o): multiple definition of 'QOpenGL2PaintEngineState::QOpenGL2PaintEngineState(QOpenGL2PaintEngineState&)'
/usr/bin/ld: /path/to/my/project/qt/lib/qtbase/libQt5OpenGL.a(qpaintengineex_opengl2.o): previous definition here
/usr/bin/ld: error: /path/to/my/project/qt/lib/qtbase/libQt5Gui.a(qopenglpaintengine.o): multiple definition of 'QOpenGL2PaintEngineState::QOpenGL2PaintEngineState(QOpenGL2PaintEngineState&)'
/usr/bin/ld: /path/to/my/project/qt/lib/qtbase/libQt5OpenGL.a(qpaintengineex_opengl2.o): previous definition here
/usr/bin/ld: error: /path/to/my/project/qt/lib/qtbase/libQt5Gui.a(qopenglpaintengine.o): multiple definition of 'QOpenGL2PaintEngineState::QOpenGL2PaintEngineState()'
/usr/bin/ld: /path/to/my/project/qt/lib/qtbase/libQt5OpenGL.a(qpaintengineex_opengl2.o): previous definition here
/usr/bin/ld: error: /path/to/my/project/qt/lib/qtbase/libQt5Gui.a(qopenglpaintengine.o): multiple definition of 'QOpenGL2PaintEngineState::QOpenGL2PaintEngineState()'
/usr/bin/ld: /path/to/my/project/qt/lib/qtbase/libQt5OpenGL.a(qpaintengineex_opengl2.o): previous definition here
/path/to/my/project/qt/lib/qtbase/libQt5Gui.a(qimage.o):qimage.cpp:function QImage::transformed(QTransform const&, Qt::TransformationMode) const: warning: memset used with constant zero length parameter; this could be due to transposed parameters
↧