Windows platform plugin with and without DirectWrite options in the same build



  • Is it possible to have Windows platform plugin with and without DirectWrite in the same build? What I want is a build that produces both the default non-DW version of qwindows.dll and a DW enabled version named, say, qwindows_dw.dll. Our installer will then handle the installation of the correct one according to user's Windows version.

    The first part of the question is: Is Windows platform plugin the only part of Qt that is required for DirectWrite support?

    The second question is then how do I change the build to produce both versions of the DLL? My current plan is:

    1. Duplicate the whole platforms/windows directory and name it platforms/windows_dw.
    2. Change the target to qwindows_dw in platform/windows_dw/windows.pro.
    3. Add directwrite to QT_CONFIG in platform/windows_dw/windows.pro.
    4. Add windows_dw to SUBDIRS in platforms.pro

    Also. Is there a way to control which platform plugin DLL to load at runtime?

    Thanks.



  • Hi, re. selecting with platform plugin DLL to load at runtime, try calling
    "setLibraryPaths":http://qt-project.org/doc/qt-4.8/qcoreapplication.html#setLibraryPaths

    Note: you should do it before plugin loading time, which is in QApplication's constructor (e.g. QApplication a(argc, argv); in your main.cpp)

    EDIT: forgot to mention, when loading plugins, the filenames are immaterial, so you have to store your different qwindows.dll flavors in different directories.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.