KDE Platform Profiles
thiago at kde.org
Mon Apr 12 14:58:10 BST 2010
Em Segunda-feira 12 Abril 2010, às 15:37:51, Patrick Spendrin escreveu:
> > Please read src/corelib/xml/qxmlstream.h:
> > // These platforms do not support symbol moving but allow it to be
> > duplicated: // Microsoft Windows (COFF PE executable format)
> > // special case: Windows CE wasn't supported before 4.4.0
> > You can't move the symbols further down the dependency chain on Windows.
> > You have to copy them.
> Do you have some more information about this or did you just find the note?
> I will check again, later tonight, but I think we already tried this
> once. I will inform you about my investigations again.
I wrote the note.
I tested every single platform when I moved QXmlStream classes from QtXml to
QtCore (back in Qt 4.4 times) and the note is the conclusion of it.
Also remember this is not about building only. It's also about running. The
Windows executable format saves the name of the DLL the symbol should come
from, so moving from one library to another will result in runtime failures,
not build ones.
It's the same problem on the Mac, with the difference that on Mac, if you copy
the symbols, you get build-time warnings of duplicates.
That's the opposite of ELF, where there's a global list symbols exported from
all DSOs and each DSO contains a list of undefined symbols. So all the dynamic
linker has to do is find one instance of the symbol and link to it. (The issue
in ELF is the search order, which may be different according to the module in
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
Senior Product Manager - Nokia, Qt Development Frameworks
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 190 bytes
Desc: This is a digitally signed message part.
More information about the kde-core-devel