Stephan Kulow schrieb: > Hi! > > I found out why kpat requires QtCore4 - it links both against Core and > Cored, everything in kdegames does: E.g. > > kdegames_LIB_DEPENDS:STATIC=C:/kde/qt-win-opensource-src-4.2.1/lib/QtCore4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtCored4.lib;kdecore;c:/kde/inst/lib/kdewin32d.lib;user32;shell32;ws2_32;C:/kde/qt-win-opensource-src-4.2.1/lib/QtXml4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtXmld4.lib;kdeui;kutils;kparts;kio;c:/kde/inst/lib/kde3support.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtCore4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtCored4.lib;kdecore;c:/kde/inst/lib/kdewin32d.lib;user32;shell32;ws2_32;c:/kde/inst/lib/kdnssd.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtXml4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtXmld4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtNetwork4.lib;C:/kde/qt-win-opensource-src-4.2.1/lib/QtNetworkd4.lib; > > As you can see it links all Qt libs twice. If I remove the QtCore4.lib > manually, kpat starts up fine, if not it crashes in random places, which > indicate that kpat uses different (binary incompatible) QMap code than > kdelibs does. But I have no idea where the code to create this, but I guess > in cmake itself. > There seems to be some problems in the generated KDELibsDependencies.cmake:
SET(kio_LIB_DEPENDS E:/Qt/qt-4.2.1/lib/QtCore4.lib;E:/Qt/qt-4.2.1/lib/QtCored4.lib;...) should be SET(kio_LIB_DEPENDS optimized;E:/Qt/qt-4.2.1/lib/QtCore4.lib;debug;E:/Qt/qt-4.2.1/lib/QtCored4.lib;...) And the undocumented command foo_LINK_TYPE seems not to work like expected. I stepped through cmTarget::AddLinkLibrary() and saw that _LINK_TYPE is not recognized due to LinkLibraryType is always cmTarget::GENERAL. But also removing the check for cmTarget::GENERAL does not help... :( btw: qtuitools.lib_LINK_TYPE is set to "general" instead "optimized"
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Kde-buildsystem mailing list Kde-buildsystem@kde.org https://mail.kde.org/mailman/listinfo/kde-buildsystem