https://bugs.kde.org/show_bug.cgi?id=358381

--- Comment #4 from Jan Kundrát <j...@kde.org> ---
Comparing outputs of objdump on a native Linux system and on this mingw 
cross compilation, I'm getting some qt_static_plugin_* symbols in my Linux' 
./CMakeFiles/trojita_plugin_AbookAddressbookPlugin.dir/trojita_plugin_AbookAddressbookPlugin_automoc.cpp.o,
 
but when I take a look at mingw' 
./CMakeFiles/trojita_plugin_AbookAddressbookPlugin.dir/trojita_plugin_AbookAddressbookPlugin_automoc.cpp.obj,
 
there's nothing like that.

Going further, the moc_AbookAddressbook.cpp on the broken mingw build 
indeed doesn't contain stuff like QT_PLUGIN_METADATA_SECTION or 
QT_MOC_EXPORT_PLUGIN. This is super-weird, given that it's invoked like 
this:

Generating moc_AbookAddressbook.cpp
/usr/i686-w64-mingw32/bin/qt5/moc 
-I/home/turbo-hipster/pwn-trojita/trojita/src 
-I/home/turbo-hipster/pwn-trojita/trojita/build 
-I/usr/i686-w64-mingw32/sys-root/mingw/include 
-I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5 
-I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtCore 
-I/usr/i686-w64-mingw32/sys-root/mingw/share/qt5/mkspecs/win32-g++ 
-I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtWidgets 
-I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtGui -DQT_STATICPLUGIN 
-DBUILD_PLUGIN -DQT_CORE_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII 
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_CORE_LIB -DQT_NO_DEBUG 
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_STRICT_ITERATORS -DQT_USE_QSTRINGBUILDER 
-DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -o 
/home/turbo-hipster/pwn-trojita/trojita/build/moc_AbookAddressbook.cpp 
/home/turbo-hipster/pwn-trojita/trojita/src/Plugins/AbookAddressbook/AbookAddressbook.h

More weird things -- stuff starts working once again when I remove this 
from the moc's invocation:

  -I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtCore

So, in other words, the following invocation of moc actually produces a 
usable result:

/usr/i686-w64-mingw32/bin/qt5/moc 
-I/home/turbo-hipster/pwn-trojita/trojita/src 
-I/home/turbo-hipster/pwn-trojita/trojita/build 
-I/usr/i686-w64-mingw32/sys-root/mingw/include 
-I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5 
-I/usr/i686-w64-mingw32/sys-root/mingw/share/qt5/mkspecs/win32-g++ 
-I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtWidgets 
-I/usr/i686-w64-mingw32/sys-root/mingw/include/qt5/QtGui -DQT_STATICPLUGIN 
-DBUILD_PLUGIN -DQT_CORE_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII 
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_CORE_LIB -DQT_NO_DEBUG 
-DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_STRICT_ITERATORS -DQT_USE_QSTRINGBUILDER 
-DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -o 
mgw-without-mgwqt5core 
/home/turbo-hipster/pwn-trojita/trojita/src/Plugins/AbookAddressbook/AbookAddressbook.h

I double-checked this; if I leave that path in the moc's invocation, the 
resulting .cpp doesn't contain the static plugin data. When I kill it, the 
static plugin data are there.

Time to sleep, I guess, because this doesn't make any sense.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to