Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.11, 5.12
-
None
-
* Windows 10 x64,
* ICC 2018 Update 1,
* MSVC 2017 15.5.0,
* mingw-w64 x86_64 posix seh 7.2.0,
* Windows SDK 10.0.16299.15,
* Qt5-dev ([9cb9e7654a8be9e53c52c1bf2ff46ad65ad1802a|http://code.qt.io/cgit/qt/qt5.git/commit/?h=dev&id=9cb9e7654a8be9e53c52c1bf2ff46ad65ad1802a]), QtMultimedia-dev ([923c2ab674d903d5c71254bf127d2784d3cc6980|http://code.qt.io/cgit/qt/qtmultimedia.git/commit/?h=dev&id=923c2ab674d903d5c71254bf127d2784d3cc6980]).* Windows 10 x64, * ICC 2018 Update 1, * MSVC 2017 15.5.0, * mingw-w64 x86_64 posix seh 7.2.0, * Windows SDK 10.0.16299.15, * Qt5-dev ([9cb9e7654a8be9e53c52c1bf2ff46ad65ad1802a| http://code.qt.io/cgit/qt/qt5.git/commit/?h=dev&id=9cb9e7654a8be9e53c52c1bf2ff46ad65ad1802a ]), QtMultimedia-dev ([923c2ab674d903d5c71254bf127d2784d3cc6980| http://code.qt.io/cgit/qt/qtmultimedia.git/commit/?h=dev&id=923c2ab674d903d5c71254bf127d2784d3cc6980 ]).
Description
Hello, everyone,
Got errors for builds using mingw-w64:
mingw32-make[6]: Entering directory 'C:/libQT-5.11-dev/build/qtmultimedia/tests/auto/unit/qmediaplaylist' g++ -Wl,-s -mthreads -static -Wl,-subsystem,console -o release\tst_qmediaplaylist.exe .obj/release/tst_qmediaplaylist.o .obj/release/qm3uhandler.o .obj/release/tst_qmediaplaylist_plugin_import.o .obj/release/moc_mockmediaplaylistsourcecontrol.o .obj/release/moc_mockplaylistservice.o .obj/release/moc_qm3uhandler.o -LC:\libQT-5.11-dev\build\qtmultimedia\plugins\mediaservice C:\libQT-5.11-dev\build\qtmultimedia\plugins\mediaservice\libdsengine.a -lmf -lmfplat -lmfuuid -ld3d9 -ldxva2 -levr -LC:\libQT-5.11-dev\build\qtmultimedia\lib -LC:\libQT-5.11-dev\build\qtbase\lib -LC:\libICU-61.1-dev\GCC64RT\lib -LC:\libOPENSSL-1.1.1-dev\GCC64RT\lib -ldmoguids -lmsdmo -lksuser C:\libQT-5.11-dev\build\qtmultimedia\plugins\mediaservice\libqtmedia_audioengine.a -LC:\libQT-5.11-dev\build\qtmultimedia\plugins\audio C:\libQT-5.11-dev\build\qtmultimedia\plugins\audio\libqtaudio_windows.a -lstrmiids -LC:\libQT-5.11-dev\build\qtmultimedia\plugins\playlistformats C:\libQT-5.11-dev\build\qtmultimedia\plugins\playlistformats\libqtmultimedia_m3u.a -LC:\libQT-5.11-dev\build\qtbase\plugins\platforms C:\libQT-5.11-dev\build\qtbase\plugins\platforms\libqwindows.a -lwinspool -lshlwapi C:\libQT-5.11-dev\build\qtbase\lib\libQt5EventDispatcherSupport.a C:\libQT-5.11-dev\build\qtbase\lib\libQt5FontDatabaseSupport.a C:\libQT-5.11-dev\build\qtbase\lib\libqtfreetype.a C:\libQT-5.11-dev\build\qtbase\lib\libQt5ThemeSupport.a C:\libQT-5.11-dev\build\qtbase\lib\libQt5AccessibilitySupport.a C:\libQT-5.11-dev\build\qtbase\lib\libQt5VulkanSupport.a C:\libQT-5.11-dev\build\qtbase\lib\libQt5WindowsUIAutomationSupport.a -LC:\libQT-5.11-dev\build\qtimageformats\plugins\imageformats C:\libQT-5.11-dev\build\qtimageformats\plugins\imageformats\libqicns.a C:\libQT-5.11-dev\build\qtimageformats\plugins\imageformats\libqtga.a C:\libQT-5.11-dev\build\qtimageformats\plugins\imageformats\libqtiff.a C:\libQT-5.11-dev\build\qtimageformats\plugins\imageformats\libqwbmp.a C:\libQT-5.11-dev\build\qtimageformats\plugins\imageformats\libqwebp.a -LC:\libQT-5.11-dev\build\qtbase\plugins\imageformats C:\libQT-5.11-dev\build\qtbase\plugins\imageformats\libqgif.a C:\libQT-5.11-dev\build\qtbase\plugins\imageformats\libqico.a C:\libQT-5.11-dev\build\qtbase\plugins\imageformats\libqjpeg.a -LC:\libQT-5.11-dev\build\qtbase\plugins\bearer C:\libQT-5.11-dev\build\qtbase\plugins\bearer\libqgenericbearer.a -LC:\libQT-5.11-dev\build\qtbase\plugins\styles C:\libQT-5.11-dev\build\qtbase\plugins\styles\libqwindowsvistastyle.a C:\libQT-5.11-dev\build\qtbase\lib\libQt5Widgets.a -luxtheme -ldwmapi C:\libQT-5.11-dev\build\qtmultimedia\lib\libQt5Multimedia.a C:\libQT-5.11-dev\build\qtbase\lib\libQt5Gui.a -lgdi32 -lcomdlg32 -loleaut32 -limm32 C:\libQT-5.11-dev\build\qtbase\lib\libqtlibpng.a C:\libQT-5.11-dev\build\qtbase\lib\libqtharfbuzz.a C:\libQT-5.11-dev\build\qtbase\lib\libQt5Network.a -ldnsapi -liphlpapi -lcrypt32 C:\libOPENSSL-1.1.1-dev\GCC64RT\lib\libssl.dll.a C:\libOPENSSL-1.1.1-dev\GCC64RT\lib\libcrypto.dll.a C:\libQT-5.11-dev\build\qtbase\lib\libQt5Test.a C:\libQT-5.11-dev\build\qtbase\lib\libQt5Core.a -lmpr -lnetapi32 -luserenv -lversion -lws2_32 -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lwinmm -lz -lsicuin -lsicuuc -lsicudt C:\libQT-5.11-dev\build\qtbase\lib\libqtpcre2.a C:\libQT-5.11-dev\build\qtmultimedia\plugins\playlistformats\libqtmultimedia_m3u.a(moc_qm3uhandler.o):moc_qm3uhandler.cpp:(.text+0x0): multiple definition of `QM3uPlaylistPlugin::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)' .obj/release/moc_qm3uhandler.o:moc_qm3uhandler.cpp:(.text+0x0): first defined here C:\libQT-5.11-dev\build\qtmultimedia\plugins\playlistformats\libqtmultimedia_m3u.a(moc_qm3uhandler.o):moc_qm3uhandler.cpp:(.text+0x20): multiple definition of `QM3uPlaylistPlugin::metaObject() const' .obj/release/moc_qm3uhandler.o:moc_qm3uhandler.cpp:(.text+0x10): first defined here C:\libQT-5.11-dev\build\qtmultimedia\plugins\playlistformats\libqtmultimedia_m3u.a(moc_qm3uhandler.o):moc_qm3uhandler.cpp:(.text+0x220): multiple definition of `QM3uPlaylistPlugin::qt_metacast(char const*)' .obj/release/moc_qm3uhandler.o:moc_qm3uhandler.cpp:(.text+0x220): first defined here C:\libQT-5.11-dev\build\qtmultimedia\plugins\playlistformats\libqtmultimedia_m3u.a(moc_qm3uhandler.o):moc_qm3uhandler.cpp:(.text+0x270): multiple definition of `QM3uPlaylistPlugin::qt_metacall(QMetaObject::Call, int, void**)' .obj/release/moc_qm3uhandler.o:moc_qm3uhandler.cpp:(.text+0x270): first defined here C:\libQT-5.11-dev\build\qtmultimedia\plugins\playlistformats\libqtmultimedia_m3u.a(moc_qm3uhandler.o):moc_qm3uhandler.cpp:(.rdata+0xa0): multiple definition of `QM3uPlaylistPlugin::staticMetaObject' .obj/release/moc_qm3uhandler.o:moc_qm3uhandler.cpp:(.rdata+0xa0): first defined here collect2.exe: error: ld returned 1 exit status mingw32-make[6]: *** [Makefile.Release:77: release\tst_qmediaplaylist.exe] Error 1 mingw32-make[6]: Leaving directory 'C:/libQT-5.11-dev/build/qtmultimedia/tests/auto/unit/qmediaplaylist' mingw32-make[5]: *** [Makefile:36: release] Error 2 mingw32-make[5]: Leaving directory 'C:/libQT-5.11-dev/build/qtmultimedia/tests/auto/unit/qmediaplaylist' mingw32-make[4]: *** [Makefile.multimedia:399: sub-qmediaplaylist-make_first] Error 2 mingw32-make[4]: Leaving directory 'C:/libQT-5.11-dev/build/qtmultimedia/tests/auto/unit' mingw32-make[3]: *** [Makefile:40: sub-multimedia-pro-make_first] Error 2 mingw32-make[3]: Leaving directory 'C:/libQT-5.11-dev/build/qtmultimedia/tests/auto/unit' mingw32-make[2]: *** [Makefile:43: sub-unit-make_first] Error 2 mingw32-make[2]: Leaving directory 'C:/libQT-5.11-dev/build/qtmultimedia/tests/auto' mingw32-make[1]: *** [Makefile:41: sub-auto-make_first] Error 2 mingw32-make[1]: Leaving directory 'C:/libQT-5.11-dev/build/qtmultimedia/tests' mingw32-make: *** [Makefile:93: sub-tests-make_first] Error 2
and MSVC:
cd qmediaplaylist\ && ( if not exist Makefile C:\libQT-5.11-dev\build\qtbase\bin\qmake.exe -o Makefile C:\libQT-5.11-dev\build\qtmultimedia\tests\auto\unit\qmediaplaylist\qmediaplaylist.pro ) && C:\Windows\jom.exe -f Makefile C:\Windows\jom.exe -f Makefile.Release link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:release\tst_qmediaplaylist.exe @C:\Users\test\AppData\Local\Temp\tst_qmediaplaylist.exe.11248.15.jom qtmultimedia_m3u.lib(moc_qm3uhandler.obj) : error LNK2005: "private: static void __cdecl QM3uPlaylistPlugin::qt_static_metacall(class QObject *,enum QMetaObject::Call,int,void * *)" (?qt_static_metacall@QM3uPlaylistPlugin@@CAXPEAVQObject@@W4Call@QMetaObject@@HPEAPEAX@Z) already defined in moc_qm3uhandler.obj qtmultimedia_m3u.lib(moc_qm3uhandler.obj) : error LNK2005: "public: virtual struct QMetaObject const * __cdecl QM3uPlaylistPlugin::metaObject(void)const " (?metaObject@QM3uPlaylistPlugin@@UEBAPEBUQMetaObject@@XZ) already defined in moc_qm3uhandler.obj qtmultimedia_m3u.lib(moc_qm3uhandler.obj) : error LNK2005: "public: virtual int __cdecl QM3uPlaylistPlugin::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@QM3uPlaylistPlugin@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z) already defined in moc_qm3uhandler.obj qtmultimedia_m3u.lib(moc_qm3uhandler.obj) : error LNK2005: "public: virtual void * __cdecl QM3uPlaylistPlugin::qt_metacast(char const *)" (?qt_metacast@QM3uPlaylistPlugin@@UEAAPEAXPEBD@Z) already defined in moc_qm3uhandler.obj qtmultimedia_m3u.lib(moc_qm3uhandler.obj) : error LNK2005: "public: static struct QMetaObject const QM3uPlaylistPlugin::staticMetaObject" (?staticMetaObject@QM3uPlaylistPlugin@@2UQMetaObject@@B) already defined in moc_qm3uhandler.obj Creating library release\tst_qmediaplaylist.lib and object release\tst_qmediaplaylist.exp release\tst_qmediaplaylist.exe : fatal error LNK1169: one or more multiply defined symbols found jom: C:\libQT-5.11-dev\build\qtmultimedia\tests\auto\unit\qmediaplaylist\Makefile.Release [release\tst_qmediaplaylist.exe] Error 1169 jom: C:\libQT-5.11-dev\build\qtmultimedia\tests\auto\unit\qmediaplaylist\Makefile [release] Error 2 jom: C:\libQT-5.11-dev\build\qtmultimedia\tests\auto\unit\Makefile.multimedia [sub-qmediaplaylist-make_first] Error 2 jom: C:\libQT-5.11-dev\build\qtmultimedia\tests\auto\unit\Makefile [sub-multimedia-pro-make_first] Error 2
Reproduced for:
- static builds using mingw-w64 and MSVC with '-developer-build' flag,
not reproduced for:
- shared builds using mingw-w64 and MSVC with '-developer-build' flag.
Best,
Alexander
Attachments
For Gerrit Dashboard: QTBUG-66480 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
232313,2 | tst_qmediaplaylist: Fix multiple definition error in static builds | 5.11 | qt/qtmultimedia | Status: MERGED | +2 | 0 |