Page 1 of 1

Cross compile for --host=x86_64-w64-mingw32

Posted: 29 Mar 2018 00:43
by sr99622
If somebody has seen this before, maybe you could point me the right direction

cross compiling VLC for window 64 bit from debian. I have been successful at 32 bit (i686-w64-mingw32) but when I attempt windows 64 bit cross compile I keep getting the same error stream

/usr/lib/gcc/x86_64-w64-mingw32/7.3-win32/libstdc++.a(cow-stdexcept.o):(.text$_Z35_txnal_cow_string_C1_for_exceptionsPvPKcS_+0x2c): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `_ITM_RU1'
/usr/lib/gcc/x86_64-w64-mingw32/7.3-win32/libstdc++.a(cow-stdexcept.o):(.text$_Z35_txnal_cow_string_C1_for_exceptionsPvPKcS_+0x39): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `transaction clone for operator new[](unsigned long long)'
/usr/lib/gcc/x86_64-w64-mingw32/7.3-win32/libstdc++.a(cow-stdexcept.o):(.text$_Z35_txnal_cow_string_C1_for_exceptionsPvPKcS_+0x5d): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `_ITM_memcpyRtWn'
/usr/lib/gcc/x86_64-w64-mingw32/7.3-win32/libstdc++.a(cow-stdexcept.o):(.text$_Z23_txnal_cow_string_c_strPKv+0x1): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `_ITM_RU8'
/usr/lib/gcc/x86_64-w64-mingw32/7.3-win32/libstdc++.a(cow-stdexcept.o):(.text$_Z23_txnal_sso_string_c_strPKv+0x1): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `_ITM_RU8'
/usr/lib/gcc/x86_64-w64-mingw32/7.3-win32/libstdc++.a(cow-stdexcept.o):(.text$_Z20_txnal_cow_string_D1Pv+0x5): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `_ITM_RU8'
/usr/lib/gcc/x86_64-w64-mingw32/7.3-win32/libstdc++.a(cow-stdexcept.o):(.text$_Z20_txnal_cow_string_D1Pv+0x1e): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `_ITM_addUserCommitAction'
/usr/lib/gcc/x86_64-w64-mingw32/7.3-win32/libstdc++.a(cow-stdexcept.o):(.text$_ZGTtNSt11logic_errorC1EPKc+0x2e): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `_ITM_memcpyRnWt'
/usr/lib/gcc/x86_64-w64-mingw32/7.3-win32/libstdc++.a(cow-stdexcept.o):(.text$_ZGTtNSt11logic_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x2e): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `_ITM_memcpyRnWt'
/usr/lib/gcc/x86_64-w64-mingw32/7.3-win32/libstdc++.a(cow-stdexcept.o):(.text$_ZGTtNSt11logic_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x36): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `_ITM_RU8'
/usr/lib/gcc/x86_64-w64-mingw32/7.3-win32/libstdc++.a(cow-stdexcept.o):(.text$_ZGTtNSt11logic_errorD0Ev+0x1a): additional relocation overflows omitted from the output

Research seem to indicate that this is a gcc bug that surfaced in 2016.

https://github.com/Alexpux/MINGW-packages/issues/1580

I have just upgraded to debian version buster which has the gcc version 7 and all latest patches but I still get the error. I have to believe I'm not the first to see this, I have a new machine built expressly for the purpose with standard installs of all required software, including lib64itm1. as mentioned previously, win32 compile was successful in this environment.

Thank you in advance for any pointers.

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 30 Mar 2018 16:37
by chouquette
This is indeed a bug in libstdc++. It's been fixed upstream, but it will (hopefully?) only be released as part gcc 8

We provide a Docker image with the patch applied that you can use : registry.videolan.org:5000/vlc-debian-win64

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 26 Jun 2018 21:58
by sr99622
If you've landed on this thread looking for instructions on how to cross compile for windows 64 bit from debian, here is your cheat sheet.

sudo apt-get install docker-ce
docker pull registry.videolan.org:5000/vlc-debian-win32
cd ~
mkdir win64
docker run -v ~/win64:/win64 -i -t registry.videolan.org:5000/vlc-debian-win32 /bin/bash
(...you will now be running the build environment from a docker container as root)
cd win64
git clone https://git.videolan.org/git/vlc
cd vlc
mkdir -p contrib/win32
cd contrib/win32
../bootstrap --host=x86_64-w64-mingw32 --disable-protobuf
make
(... this will take some time so turn off screensaver and go out for lunch)
cd -
./bootstrap
mkdir win32
cd win32
../extras/package/win32/configure.sh --host=x86_64-w64-mingw32 --build=x86_64-pc-linux-gnu
make
make package-win32

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 27 Jun 2018 09:00
by Jean-Baptiste Kempf
or just use extras/package/win32/build.sh -a i686

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 07 Aug 2018 09:32
by newlukas
I was able to cross compile for win64 latest VLC (4.0) from git using docker with no problems.
My question is what's the proper way to compile current released version (3.0.3)?
I used latest docker iamge (vlc-debian-win64) and instead of cloning git repo I downloaded http://get.videolan.org/vlc/3.0.3/vlc-3.0.3.tar.xz and tried to compile it (extras/package/win32/build.sh was not present so I used commands posted above by sr99622).
I got compilation errors from gcrypt then some qt linking errors, so it seems that it's not the proper way.
I also tried to use older docker tag instead of latest but I also faced some errors.
Do you have some clues?

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 07 Aug 2018 09:57
by unidan
Hi,

Can you post the errors ?

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 07 Aug 2018 10:27
by newlukas
Sure, but my question is more not how to overcome compilation/linkage errors, but what is the right way to compile vlc 3.0.3 in a stable manner.
There are nightly builds of vlc 3.0.4 for win64, so vlc jenkins has probably some fixed configuration which I would like to replicate in my environment.

1.
First error was in gcrypt contrib.
I fixed it with patch for gcrypt:

--- a/configure.ac
+++ b/configure.ac
@@ -39,7 +39,7 @@
m4_define(mym4_version,
[mym4_version_major.mym4_version_minor.mym4_version_micro])
m4_define([mym4_revision],
- m4_esyscmd([git rev-parse --short HEAD | tr -d '\n\r']))
+ m4_esyscmd([printf %x $(wc -l < debian/changelog)]))
m4_define([mym4_revision_dec],
m4_esyscmd_s([echo $((0x$(echo ]mym4_revision[|head -c 4)))]))
m4_define([mym4_betastring],

2. During vlc compilation there were some qt linkage errors:
Making all in .
make[4]: Entering directory '/win64/vlc-3.0.3/win32/modules'
CXXLD libqt_plugin.la
libtool: warning: '/opt/gcc-x86_64-w64-mingw32/x86_64-w64-mingw32/lib/libssp.la' seems to be moved
libtool: warning: '/opt/gcc-x86_64-w64-mingw32/x86_64-w64-mingw32/lib/libssp.la' seems to be moved

*** Warning: Linking the shared library libqt_plugin.la against the
*** static library /win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a is not portable!

*** Warning: Linking the shared library libqt_plugin.la against the
*** static library /win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqtharfbuzzng.a is not portable!

*** Warning: Linking the shared library libqt_plugin.la against the
*** static library /win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Core.a is not portable!

*** Warning: Linking the shared library libqt_plugin.la against the
*** static library /win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqtpcre.a is not portable!
gui/qt/util/.libs/libqt_plugin_la-validators.moc.o: In function `UrlValidator::qt_metacast(char const*)':
/win64/vlc-3.0.3/win32/modules/gui/qt/util/validators.moc.cpp:79: undefined reference to `QValidator::qt_metacast(char const*)'
/win64/vlc-3.0.3/win32/modules/gui/qt/util/validators.moc.cpp:79:(.text+0x9d): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `QValidator::qt_metacast(char const*)'
gui/qt/util/.libs/libqt_plugin_la-validators.moc.o: In function `UrlValidator::qt_metacall(QMetaObject::Call, int, void**)':
/win64/vlc-3.0.3/win32/modules/gui/qt/util/validators.moc.cpp:84: undefined reference to `QValidator::qt_metacall(QMetaObject::Call, int, void**)'
/win64/vlc-3.0.3/win32/modules/gui/qt/util/validators.moc.cpp:84:(.text+0xb1): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `QValidator::qt_metacall(QMetaObject::Call, int, void**)'
gui/qt/util/.libs/libqt_plugin_la-validators.moc.o:validators.moc.cpp:(.rdata+0x60): undefined reference to `QValidator::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqsvg.a(main.o):main.cpp:(.text+0x52d): undefined reference to `QImageIOPlugin::qt_metacast(char const*)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqsvg.a(main.o):main.cpp:(.text+0x52d): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `QImageIOPlugin::qt_metacast(char const*)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqsvg.a(main.o):main.cpp:(.text+0x541): undefined reference to `QImageIOPlugin::qt_metacall(QMetaObject::Call, int, void**)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqsvg.a(main.o):main.cpp:(.text+0x541): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `QImageIOPlugin::qt_metacall(QMetaObject::Call, int, void**)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqsvg.a(main.o):main.cpp:(.rdata+0x20): undefined reference to `QImageIOPlugin::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqsvgicon.a(main.o):main.cpp:(.text+0x35d): undefined reference to `QIconEnginePlugin::qt_metacast(char const*)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqsvgicon.a(main.o):main.cpp:(.text+0x35d): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `QIconEnginePlugin::qt_metacast(char const*)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqsvgicon.a(main.o):main.cpp:(.text+0x371): undefined reference to `QIconEnginePlugin::qt_metacall(QMetaObject::Call, int, void**)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqsvgicon.a(main.o):main.cpp:(.text+0x371): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `QIconEnginePlugin::qt_metacall(QMetaObject::Call, int, void**)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqsvgicon.a(main.o):main.cpp:(.rdata+0x20): undefined reference to `QIconEnginePlugin::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qgraphicsview.o):qgraphicsview.cpp:(.rdata+0x230): undefined reference to `QPainter::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qwidgettextcontrol.o):qwidgettextcontrol.cpp:(.text+0x90b0): undefined reference to `QInputControl::qt_metacall(QMetaObject::Call, int, void**)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qwidgettextcontrol.o):qwidgettextcontrol.cpp:(.text+0x90b0): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `QInputControl::qt_metacall(QMetaObject::Call, int, void**)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qwidgettextcontrol.o):qwidgettextcontrol.cpp:(.text+0x27d): undefined reference to `QInputControl::qt_metacast(char const*)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qwidgettextcontrol.o):qwidgettextcontrol.cpp:(.text+0x27d): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `QInputControl::qt_metacast(char const*)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qwidgettextcontrol.o):qwidgettextcontrol.cpp:(.rdata+0x840): undefined reference to `QInputControl::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qwidgettextcontrol.o):qwidgettextcontrol.cpp:(.rdata$.refptr._ZN13QTextDocument16staticMetaObjectE[.refptr._ZN13QTextDocument16staticMetaObjectE]+0x0): undefined reference to `QTextDocument::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qwidgettextcontrol.o):qwidgettextcontrol.cpp:(.rdata$.refptr._ZN13QTextDocument15contentsChangedEv[.refptr._ZN13QTextDocument15contentsChangedEv]+0x0): undefined reference to `QTextDocument::contentsChanged()'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qwidgettextcontrol.o):qwidgettextcontrol.cpp:(.rdata$.refptr._ZTV13QInputControl[.refptr._ZTV13QInputControl]+0x0): undefined reference to `vtable for QInputControl'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qfontcombobox.o):qfontcombobox.cpp:(.rdata+0x190): undefined reference to `QFontDatabase::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qabstractspinbox.o):qabstractspinbox.cpp:(.rdata$_ZTV17QSpinBoxValidator[_ZTV17QSpinBoxValidator]+0x10): undefined reference to `QValidator::metaObject() const'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qabstractspinbox.o):qabstractspinbox.cpp:(.rdata$_ZTV17QSpinBoxValidator[_ZTV17QSpinBoxValidator]+0x18): undefined reference to `QValidator::qt_metacast(char const*)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qabstractspinbox.o):qabstractspinbox.cpp:(.rdata$_ZTV17QSpinBoxValidator[_ZTV17QSpinBoxValidator]+0x20): undefined reference to `QValidator::qt_metacall(QMetaObject::Call, int, void**)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qdesktopwidget.o):qdesktopwidget.cpp:(.rdata$.refptr._ZN7QScreen16staticMetaObjectE[.refptr._ZN7QScreen16staticMetaObjectE]+0x0): undefined reference to `QScreen::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qwidgetlinecontrol.o):qwidgetlinecontrol.cpp:(.text+0x6b80): undefined reference to `QInputControl::qt_metacall(QMetaObject::Call, int, void**)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qwidgetlinecontrol.o):qwidgetlinecontrol.cpp:(.text+0x6b80): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `QInputControl::qt_metacall(QMetaObject::Call, int, void**)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qwidgetlinecontrol.o):qwidgetlinecontrol.cpp:(.text+0x5d): undefined reference to `QInputControl::qt_metacast(char const*)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qwidgetlinecontrol.o):qwidgetlinecontrol.cpp:(.text+0x5d): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `QInputControl::qt_metacast(char const*)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Widgets.a(qwidgetlinecontrol.o):qwidgetlinecontrol.cpp:(.rdata+0x3a0): undefined reference to `QInputControl::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.text+0x205): undefined reference to `QIntValidator::bottomChanged(int)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.text+0x205): additional relocation overflows omitted from the output
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.text+0x217): undefined reference to `QIntValidator::topChanged(int)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.text+0x6f7): undefined reference to `QDoubleValidator::decimalsChanged(int)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.text+0x72d): undefined reference to `QDoubleValidator::topChanged(double)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.text+0x749): undefined reference to `QDoubleValidator::bottomChanged(double)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.text+0x7d5): undefined reference to `QDoubleValidator::notationChanged(QDoubleValidator::Notation)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.text+0xa17): undefined reference to `QRegExpValidator::regExpChanged(QRegExp const&)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.text+0xd53): undefined reference to `QRegularExpressionValidator::regularExpressionChanged(QRegularExpression const&)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.text+0xd5b): undefined reference to `QValidator::changed()'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.text+0x116): undefined reference to `QValidator::changed()'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.text+0x225): undefined reference to `QValidator::changed()'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.text+0x70b): undefined reference to `QValidator::changed()'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.text+0x7e2): undefined reference to `QValidator::changed()'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.text+0xa26): more undefined references to `QValidator::changed()' follow
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.rdata$.refptr._ZTV27QRegularExpressionValidator[.refptr._ZTV27QRegularExpressionValidator]+0x0): undefined reference to `vtable for QRegularExpressionValidator'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.rdata$.refptr._ZTV16QRegExpValidator[.refptr._ZTV16QRegExpValidator]+0x0): undefined reference to `vtable for QRegExpValidator'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.rdata$.refptr._ZTV16QDoubleValidator[.refptr._ZTV16QDoubleValidator]+0x0): undefined reference to `vtable for QDoubleValidator'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.rdata$.refptr._ZTV13QIntValidator[.refptr._ZTV13QIntValidator]+0x0): undefined reference to `vtable for QIntValidator'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qvalidator.o):qvalidator.cpp:(.rdata$.refptr._ZTV10QValidator[.refptr._ZTV10QValidator]+0x0): undefined reference to `vtable for QValidator'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextlist.o):qtextlist.cpp:(.rdata$.refptr._ZTV9QTextList[.refptr._ZTV9QTextList]+0x0): undefined reference to `vtable for QTextList'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtexttable.o):qtexttable.cpp:(.rdata$.refptr._ZN10QTextTable16staticMetaObjectE[.refptr._ZN10QTextTable16staticMetaObjectE]+0x0): undefined reference to `QTextTable::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtexttable.o):qtexttable.cpp:(.rdata$.refptr._ZTV10QTextTable[.refptr._ZTV10QTextTable]+0x0): undefined reference to `vtable for QTextTable'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextcursor.o):qtextcursor.cpp:(.rdata$.refptr._ZN9QTextList16staticMetaObjectE[.refptr._ZN9QTextList16staticMetaObjectE]+0x0): undefined reference to `QTextList::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocumentlayout.o):qtextdocumentlayout.cpp:(.rdata$.refptr._ZN10QTextFrame16staticMetaObjectE[.refptr._ZN10QTextFrame16staticMetaObjectE]+0x0): undefined reference to `QTextFrame::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x2f8): undefined reference to `QTextDocument::undoAvailable(bool)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x328): undefined reference to `QTextDocument::redoAvailable(bool)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x675): undefined reference to `QTextDocument::modificationChanged(bool)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x11a4): undefined reference to `QTextDocument::documentLayoutChanged()'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x11c5): undefined reference to `QTextDocument::contentsChange(int, int, int)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x182a): undefined reference to `QTextDocument::redoAvailable(bool)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x1907): undefined reference to `QTextDocument::undoAvailable(bool)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x19f2): undefined reference to `QTextDocument::undoAvailable(bool)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x1a97): undefined reference to `QTextDocument::undoAvailable(bool)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x1aa8): undefined reference to `QTextDocument::redoAvailable(bool)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x1cbd): undefined reference to `QTextDocument::undoCommandAdded()'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x1db7): undefined reference to `QTextDocument::redoAvailable(bool)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x1dce): undefined reference to `QTextDocument::undoAvailable(bool)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x5a55): undefined reference to `QTextDocument::cursorPositionChanged(QTextCursor const&)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x5aa2): undefined reference to `QTextDocument::blockCountChanged(int)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x5c1d): undefined reference to `QTextDocument::contentsChange(int, int, int)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x5fe9): undefined reference to `QTextDocument::undoCommandAdded()'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x80b7): undefined reference to `QTextDocument::undoAvailable(bool)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x80f4): undefined reference to `QTextDocument::redoAvailable(bool)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x8c47): undefined reference to `QTextDocument::contentsChange(int, int, int)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x682): undefined reference to `QTextDocument::contentsChanged()'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x6c7): undefined reference to `QTextDocument::modificationChanged(bool)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.text+0x6e2): undefined reference to `QTextDocument::modificationChanged(bool)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument_p.o):qtextdocument_p.cpp:(.rdata$.refptr._ZN15QTextBlockGroup16staticMetaObjectE[.refptr._ZN15QTextBlockGroup16staticMetaObjectE]+0x0): undefined reference to `QTextBlockGroup::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument.o):qtextdocument.cpp:(.text+0x5359): undefined reference to `QTextDocument::baseUrlChanged(QUrl const&)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextdocument.o):qtextdocument.cpp:(.rdata$.refptr._ZTV13QTextDocument[.refptr._ZTV13QTextDocument]+0x0): undefined reference to `vtable for QTextDocument'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextobject.o):qtextobject.cpp:(.rdata$.refptr._ZTV10QTextFrame[.refptr._ZTV10QTextFrame]+0x0): undefined reference to `vtable for QTextFrame'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextobject.o):qtextobject.cpp:(.rdata$.refptr._ZTV15QTextBlockGroup[.refptr._ZTV15QTextBlockGroup]+0x0): undefined reference to `vtable for QTextBlockGroup'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextobject.o):qtextobject.cpp:(.rdata$.refptr._ZTV11QTextObject[.refptr._ZTV11QTextObject]+0x0): undefined reference to `vtable for QTextObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qiconengineplugin.o):qiconengineplugin.cpp:(.rdata$.refptr._ZTV17QIconEnginePlugin[.refptr._ZTV17QIconEnginePlugin]+0x0): undefined reference to `vtable for QIconEnginePlugin'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qicon.o):qicon.cpp:(.rdata$.refptr._ZN17QIconEnginePlugin16staticMetaObjectE[.refptr._ZN17QIconEnginePlugin16staticMetaObjectE]+0x0): undefined reference to `QIconEnginePlugin::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qpicture.o):qpicture.cpp:(.rdata$.refptr._ZN20QPictureFormatPlugin16staticMetaObjectE[.refptr._ZN20QPictureFormatPlugin16staticMetaObjectE]+0x0): undefined reference to `QPictureFormatPlugin::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qimagewriter.o):qimagewriter.cpp:(.rdata$.refptr._ZN14QImageIOPlugin16staticMetaObjectE[.refptr._ZN14QImageIOPlugin16staticMetaObjectE]+0x0): undefined reference to `QImageIOPlugin::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qimageiohandler.o):qimageiohandler.cpp:(.rdata$.refptr._ZTV14QImageIOPlugin[.refptr._ZTV14QImageIOPlugin]+0x0): undefined reference to `vtable for QImageIOPlugin'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qplatformdialoghelper.o):qplatformdialoghelper.cpp:(.rdata$.refptr._ZN21QPlatformDialogHelper16staticMetaObjectE[.refptr._ZN21QPlatformDialogHelper16staticMetaObjectE]+0x0): undefined reference to `QPlatformDialogHelper::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qplatformdialoghelper.o):qplatformdialoghelper.cpp:(.rdata$.refptr._ZTV21QPlatformDialogHelper[.refptr._ZTV21QPlatformDialogHelper]+0x0): undefined reference to `vtable for QPlatformDialogHelper'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtouchdevice.o):qtouchdevice.cpp:(.rdata$.refptr._ZN12QTouchDevice16staticMetaObjectE[.refptr._ZN12QTouchDevice16staticMetaObjectE]+0x0): undefined reference to `QTouchDevice::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qstylehints.o):qstylehints.cpp:(.text+0x8d): undefined reference to `QStyleHints::mouseDoubleClickIntervalChanged(int)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qstylehints.o):qstylehints.cpp:(.text+0x3dd): undefined reference to `QStyleHints::startDragDistanceChanged(int)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qstylehints.o):qstylehints.cpp:(.text+0x59d): undefined reference to `QStyleHints::startDragTimeChanged(int)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qstylehints.o):qstylehints.cpp:(.text+0x8ed): undefined reference to `QStyleHints::keyboardInputIntervalChanged(int)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qstylehints.o):qstylehints.cpp:(.text+0xc43): undefined reference to `QStyleHints::cursorFlashTimeChanged(int)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qstylehints.o):qstylehints.cpp:(.rdata$.refptr._ZTV11QStyleHints[.refptr._ZTV11QStyleHints]+0x0): undefined reference to `vtable for QStyleHints'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qscreen.o):qscreen.cpp:(.rdata$.refptr._ZTV7QScreen[.refptr._ZTV7QScreen]+0x0): undefined reference to `vtable for QScreen'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qkeymapper.o):qkeymapper.cpp:(.rdata$.refptr._ZTV10QKeyMapper[.refptr._ZTV10QKeyMapper]+0x0): undefined reference to `vtable for QKeyMapper'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qguiapplication.o):qguiapplication.cpp:(.text+0xa4c9): undefined reference to `QScreen::orientationChanged(Qt::ScreenOrientation)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qguiapplication.o):qguiapplication.cpp:(.text+0xa715): undefined reference to `QScreen::geometryChanged(QRect const&)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qguiapplication.o):qguiapplication.cpp:(.text+0xa72b): undefined reference to `QScreen::physicalSizeChanged(QSizeF const&)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qguiapplication.o):qguiapplication.cpp:(.text+0xa73f): undefined reference to `QScreen::physicalDotsPerInchChanged(double)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qguiapplication.o):qguiapplication.cpp:(.text+0xa753): undefined reference to `QScreen::logicalDotsPerInchChanged(double)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qguiapplication.o):qguiapplication.cpp:(.text+0xa771): undefined reference to `QScreen::primaryOrientationChanged(Qt::ScreenOrientation)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qguiapplication.o):qguiapplication.cpp:(.text+0xa79b): undefined reference to `QScreen::availableGeometryChanged(QRect const&)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qguiapplication.o):qguiapplication.cpp:(.text+0xa826): undefined reference to `QScreen::virtualGeometryChanged(QRect const&)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qguiapplication.o):qguiapplication.cpp:(.text+0x1438): undefined reference to `QScreen::logicalDotsPerInchChanged(double)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qguiapplication.o):qguiapplication.cpp:(.text+0x151f): undefined reference to `QScreen::refreshRateChanged(double)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qsessionmanager.o):qsessionmanager.cpp:(.rdata$.refptr._ZTV15QSessionManager[.refptr._ZTV15QSessionManager]+0x0): undefined reference to `vtable for QSessionManager'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qtextimagehandler.o):qtextimagehandler.cpp:(.rdata$.refptr._ZTV17QTextImageHandler[.refptr._ZTV17QTextImageHandler]+0x0): undefined reference to `vtable for QTextImageHandler'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qinputdevicemanager.o):qinputdevicemanager.cpp:(.text+0x311): undefined reference to `QInputDeviceManager::cursorPositionChangeRequested(QPoint const&)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qinputdevicemanager.o):qinputdevicemanager.cpp:(.text+0x486): undefined reference to `QInputDeviceManager::deviceListChanged(QInputDeviceManager::DeviceType)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qinputdevicemanager.o):qinputdevicemanager.cpp:(.rdata$.refptr._ZTV19QInputDeviceManager[.refptr._ZTV19QInputDeviceManager]+0x0): undefined reference to `vtable for QInputDeviceManager'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qguivariant.o):qguivariant.cpp:(.rdata$.refptr._ZN11QTextFormat16staticMetaObjectE[.refptr._ZN11QTextFormat16staticMetaObjectE]+0x0): undefined reference to `QTextFormat::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qguivariant.o):qguivariant.cpp:(.rdata$.refptr._ZN8QPalette16staticMetaObjectE[.refptr._ZN8QPalette16staticMetaObjectE]+0x0): undefined reference to `QPalette::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qguivariant.o):qguivariant.cpp:(.rdata$.refptr._ZN5QFont16staticMetaObjectE[.refptr._ZN5QFont16staticMetaObjectE]+0x0): undefined reference to `QFont::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qshapedpixmapdndwindow.o):qshapedpixmapdndwindow.cpp:(.rdata$.refptr._ZTV18QPaintDeviceWindow[.refptr._ZTV18QPaintDeviceWindow]+0x0): undefined reference to `vtable for QPaintDeviceWindow'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(moc_qshapedpixmapdndwindow_p.o):moc_qshapedpixmapdndwindow_p.cpp:(.text+0x6d): undefined reference to `QRasterWindow::qt_metacast(char const*)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(moc_qshapedpixmapdndwindow_p.o):moc_qshapedpixmapdndwindow_p.cpp:(.text+0x81): undefined reference to `QRasterWindow::qt_metacall(QMetaObject::Call, int, void**)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(moc_qshapedpixmapdndwindow_p.o):moc_qshapedpixmapdndwindow_p.cpp:(.rdata+0x0): undefined reference to `QRasterWindow::staticMetaObject'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libQt5Gui.a(qrasterwindow.o):qrasterwindow.cpp:(.rdata$.refptr._ZTV13QRasterWindow[.refptr._ZTV13QRasterWindow]+0x0): undefined reference to `vtable for QRasterWindow'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdrag.o):qwindowsdrag.cpp:(.rdata$_ZTV24QWindowsDragCursorWindow[_ZTV24QWindowsDragCursorWindow]+0x10): undefined reference to `QRasterWindow::metaObject() const'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdrag.o):qwindowsdrag.cpp:(.rdata$_ZTV24QWindowsDragCursorWindow[_ZTV24QWindowsDragCursorWindow]+0x18): undefined reference to `QRasterWindow::qt_metacast(char const*)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdrag.o):qwindowsdrag.cpp:(.rdata$_ZTV24QWindowsDragCursorWindow[_ZTV24QWindowsDragCursorWindow]+0x20): undefined reference to `QRasterWindow::qt_metacall(QMetaObject::Call, int, void**)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdialoghelpers.o):qwindowsdialoghelpers.cpp:(.rdata$_ZTV24QWindowsDialogHelperBaseI25QPlatformFileDialogHelperE[_ZTV24QWindowsDialogHelperBaseI25QPlatformFileDialogHelperE]+0x10): undefined reference to `QPlatformFileDialogHelper::metaObject() const'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdialoghelpers.o):qwindowsdialoghelpers.cpp:(.rdata$_ZTV24QWindowsDialogHelperBaseI25QPlatformFileDialogHelperE[_ZTV24QWindowsDialogHelperBaseI25QPlatformFileDialogHelperE]+0x18): undefined reference to `QPlatformFileDialogHelper::qt_metacast(char const*)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdialoghelpers.o):qwindowsdialoghelpers.cpp:(.rdata$_ZTV24QWindowsDialogHelperBaseI25QPlatformFileDialogHelperE[_ZTV24QWindowsDialogHelperBaseI25QPlatformFileDialogHelperE]+0x20): undefined reference to `QPlatformFileDialogHelper::qt_metacall(QMetaObject::Call, int, void**)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdialoghelpers.o):qwindowsdialoghelpers.cpp:(.rdata$_ZTV24QWindowsFileDialogHelper[_ZTV24QWindowsFileDialogHelper]+0x10): undefined reference to `QPlatformFileDialogHelper::metaObject() const'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdialoghelpers.o):qwindowsdialoghelpers.cpp:(.rdata$_ZTV24QWindowsFileDialogHelper[_ZTV24QWindowsFileDialogHelper]+0x18): undefined reference to `QPlatformFileDialogHelper::qt_metacast(char const*)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdialoghelpers.o):qwindowsdialoghelpers.cpp:(.rdata$_ZTV24QWindowsFileDialogHelper[_ZTV24QWindowsFileDialogHelper]+0x20): undefined reference to `QPlatformFileDialogHelper::qt_metacall(QMetaObject::Call, int, void**)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdialoghelpers.o):qwindowsdialoghelpers.cpp:(.rdata$_ZTV26QWindowsXpFileDialogHelper[_ZTV26QWindowsXpFileDialogHelper]+0x10): undefined reference to `QPlatformFileDialogHelper::metaObject() const'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdialoghelpers.o):qwindowsdialoghelpers.cpp:(.rdata$_ZTV26QWindowsXpFileDialogHelper[_ZTV26QWindowsXpFileDialogHelper]+0x18): undefined reference to `QPlatformFileDialogHelper::qt_metacast(char const*)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdialoghelpers.o):qwindowsdialoghelpers.cpp:(.rdata$_ZTV26QWindowsXpFileDialogHelper[_ZTV26QWindowsXpFileDialogHelper]+0x20): undefined reference to `QPlatformFileDialogHelper::qt_metacall(QMetaObject::Call, int, void**)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdialoghelpers.o):qwindowsdialoghelpers.cpp:(.rdata$.refptr._ZTV25QPlatformFileDialogHelper[.refptr._ZTV25QPlatformFileDialogHelper]+0x0): undefined reference to `vtable for QPlatformFileDialogHelper'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdialoghelpers.o):qwindowsdialoghelpers.cpp:(.rdata$.refptr._ZN25QPlatformFileDialogHelper14filterSelectedERK7QString[.refptr._ZN25QPlatformFileDialogHelper14filterSelectedERK7QString]+0x0): undefined reference to `QPlatformFileDialogHelper::filterSelected(QString const&)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdialoghelpers.o):qwindowsdialoghelpers.cpp:(.rdata$.refptr._ZN25QPlatformFileDialogHelper14currentChangedERK4QUrl[.refptr._ZN25QPlatformFileDialogHelper14currentChangedERK4QUrl]+0x0): undefined reference to `QPlatformFileDialogHelper::currentChanged(QUrl const&)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdialoghelpers.o):qwindowsdialoghelpers.cpp:(.rdata$.refptr._ZN25QPlatformFileDialogHelper16directoryEnteredERK4QUrl[.refptr._ZN25QPlatformFileDialogHelper16directoryEnteredERK4QUrl]+0x0): undefined reference to `QPlatformFileDialogHelper::directoryEntered(QUrl const&)'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdialoghelpers.o):qwindowsdialoghelpers.cpp:(.rdata$.refptr._ZN21QPlatformDialogHelper6rejectEv[.refptr._ZN21QPlatformDialogHelper6rejectEv]+0x0): undefined reference to `QPlatformDialogHelper::reject()'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdialoghelpers.o):qwindowsdialoghelpers.cpp:(.rdata$.refptr._ZN21QPlatformDialogHelper6acceptEv[.refptr._ZN21QPlatformDialogHelper6acceptEv]+0x0): undefined reference to `QPlatformDialogHelper::accept()'
/win64/vlc-3.0.3/contrib/x86_64-w64-mingw32/lib/libqwindows.a(qwindowsdialoghelpers.o):qwindowsdialoghelpers.cpp:(.rdata$.refptr._ZN18QFileDialogOptions16staticMetaObjectE[.refptr._ZN18QFileDialogOptions16staticMetaObjectE]+0x0): undefined reference to `QFileDialogOptions::staticMetaObject'
collect2: error: ld returned 1 exit status
Makefile:16232: recipe for target 'libqt_plugin.la' failed
make[4]: *** [libqt_plugin.la] Error 1
make[4]: Leaving directory '/win64/vlc-3.0.3/win32/modules'
Makefile:26142: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/win64/vlc-3.0.3/win32/modules'
Makefile:11235: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/win64/vlc-3.0.3/win32/modules'
Makefile:1531: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/win64/vlc-3.0.3/win32'
Makefile:1416: recipe for target 'all' failed
make: *** [all] Error 2

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 09 Aug 2018 17:29
by newlukas
I'm not sure what was the cause of the above problems, but yesterday I used docker vlc-debian-win64 and peeked how VLC Jenkins compiles nighly build for 3.0.x and pasted the same build.sh command and it compiled w/o problems.

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 10 Aug 2018 16:03
by chouquette
I've never seen this error, neither do I have to change something in gcrypt.

How are you building VLC, with which compiler?

Also, the cheat sheet contains an error, if you want to build for 32bits, you need to `docker pull registry.videolan.org:5000/vlc-debian-win32`
For 64 bits: `docker pull registry.videolan.org:5000/vlc-debian-win64`

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 10 Aug 2018 22:31
by newlukas
I compiled on Ubuntu 17 running in virtualbox using docker vlc-debian-win64 and got those errors.
I used docker's default compiler which is probably mingw w64 64bit.
I noticed the error in the cheatsheet.
Nevertheless now everything compiles and runs on Win10, so it's time for me to write new audio decoder module.
Cheers.

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 13 Aug 2018 13:31
by Lyra532
Hi newlukas, can you please specify your steps?
Did you follow the cheat sheet above?
each time I try to run the

docker pull registry.videolan.org:5000/vlc-debian-win64

command, I get an error:

docker: Error response from daemon: Get https://registry.videolan.org:5000/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.

I tried to change my DNS server as was recommended on some places but it didn't help
(I run ubuntu 18 in virtualbox)

thanks ahead

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 15 Aug 2018 21:57
by newlukas
On Ubuntu 17 I installed docker client using:
sudo apt-get install docker.io
then get the docker instance using:
sudo docker pull registry.videolan.org:5000/vlc-debian-win64

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 19 Aug 2018 09:27
by Lyra532
thank you for your answer, I am now able to build vlc 4 from git,
but when I try to build vlc3.0.3 (inside a vlc-debian-win64 container) I get the gcrypt error:

x86_64-w64-mingw32-windres: versioninfo.rc.in:21: syntax error
Makefile:1224: recipe for target 'versioninfo.lo' failed
make[2]: *** [versioninfo.lo] Error 1
make[2]: Leaving directory '/vlc-3.0.3/contrib/win32/gcrypt/src'
Makefile:487: recipe for target 'install-recursive' failed
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory '/vlc-3.0.3/contrib/win32/gcrypt'
../../contrib/src/gcrypt/rules.mak:72: recipe for target '.gcrypt' failed
make: *** [.gcrypt] Error 2

how were you able to overcome this?

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 21 Aug 2018 11:23
by Lyra532
if anyone is interested the answer to solve this problem is described here:

https://bugs.debian.org/cgi-bin/bugrepo ... bug=814954

you need to modify the configure.ac file inside gcrypt directory

- m4_esyscmd([git rev-parse --short HEAD | tr -d '\n\r']))
+ m4_esyscmd([printf %x $(wc -l < debian/changelog)]))

so it won't be dependent on git

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 21 Aug 2018 14:44
by chouquette
I'm surprised we never hit this issue :| Maybe this is only when using a more recent version than the one we require in the contribs?

In any case, thanks for reporting back and for providing the patch!

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 23 Aug 2018 09:15
by Lyra532
I think it only happens when you build from a tarball rather than from git hub

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 27 Aug 2018 14:59
by newlukas
Yep, it happens when compiling from tarball (http://get.videolan.org/vlc/3.0.3/vlc-3.0.3.tar.xz)
Files in tarball differ from the ones on git (git://git.videolan.org/vlc/vlc-3.0.git), some files are stripped e.g. build.sh.
When I was compiling from tarball I was able to fix problem with gcrypt (as I wrote in my previous post) but then I faced another few problems so I gave up.
It's a pitty that you download the official source code for current release and can't compile it :-( .

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 07 Sep 2018 08:56
by newlukas
Version 3.0.4 (http://get.videolan.org/vlc/3.0.4/vlc-3.0.4.tar.xz) still doesn't compile.

Re: Cross compile for --host=x86_64-w64-mingw32

Posted: 24 Dec 2019 11:38
by aquiintac
hi newlukas, did you ever got around with compiling from tarball? i'm using vlc-3.0.8.tar.xz.

i was able to fix the gcrypt by following the instructions above. when running "make", i had a lot of warnings but it continued until the end.
i got an error when running make package-win32.

mkdir -p ./vlc-3.0.8/lua/
cp -r /win64/vlc-3.0.8/win32/_win32/lib/vlc/lua/* ./vlc-3.0.8/lua/
cp -r /win64/vlc-3.0.8/win32/_win32/share/vlc/lua/* ./vlc-3.0.8/lua/
rm -fr ./vlc-3.0.8/skins
cp -r /win64/vlc-3.0.8/win32/_win32/share/vlc/skins2 ./vlc-3.0.8/skins
cp -r ../extras/package/win32/../../../share/hrtfs ./vlc-3.0.8/
cp: cannot stat '../extras/package/win32/../../../share/hrtfs': No such file or directory
Makefile:2410: recipe for target 'package-win-common' failed
make: *** [package-win-common] Error 1