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:
- Duplicate the whole platforms/windows directory and name it platforms/windows_dw.
- Change the target to qwindows_dw in platform/windows_dw/windows.pro.
- Add directwrite to QT_CONFIG in platform/windows_dw/windows.pro.
- 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#setLibraryPathsNote: 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.