Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Strange behavior on XP with Qt 5.6.1



  • Recently, I migrate my applications from VS2013 + Qt 5.5.1 to VS2015 + Qt 5.6.1. All works well on Win7. But for one of my application, when running on XP, some of the text on the app are bigger and added delete line, and under line. Sorry for that I can't figure out how to attach a picture here. That's strange, because, another application can run well, so I doubt, may there are some modules won't run well on XP. Anyone can help me?

    Update:

    From this link, Qt 5.6 support XP. But I'm not sure if the binaries download from : http://download.qt.io/official_releases/qt/5.6/5.6.1-1/qt-opensource-windows-x86-msvc2015-5.6.1-1.exe.mirrorlist is compiled with XP support. Do I need compile Qt from source to get XP support?


  • Lifetime Qt Champion

    Hi,

    Here you have the explanation on how to show a picture.

    Based on the documentation here it's likely not case but I'm not 100% sure.



  • Thanks.

    If the second link is true. Then it means I must compile the Qt from sources to get XP support. It's really painful to do that. Why Qt won't provide a compiled library directly to support XP? As they already declared the Qt 5.6 is LTS version?



  • @SGaist Can you give some informations about where to find the compilation configures used by the library packages provided by Qt? I want to know if they target Xp, and if use "-no-directwrite".


  • Moderators

    @diverger said:

    Can you give some informations about where to find the compilation configures used by the library packages provided by Qt?

    http://code.qt.io/cgit/qtsdk/qtsdk.git/tree/packaging-tools/bld_config/configure_win_opensource?h=v5.6.1-1-packaging&id=b24ce875cfc77b948c843a38d7b78ee26114161b



  • @JKSH Thansk very much.

    Sadly, I don't find '-target xp', and ''-no-directwrite". IMHO, if Qt 5.6.1 is made the 'LTS' version, why not compile it to support XP? As the may reason prevent some people like me to migrate to Qt 5.7.0 is we have to make the application can run on XP. Because there many old machines use XP. The user use XP just as it's 'enough' for them, they won't bother to update to a new one.


  • Moderators

    @diverger said:

    IMHO, if Qt 5.6.1 is made the 'LTS' version, why not compile it to support XP?

    1. Because resources are limited.
      • Each build requires resources (hardware, time, energy, money)
      • Each build makes it slower to integrate bug fixes and new features into Qt.
    2. Because compiling for Windows XP will disable certain features in Qt 5.6.
      • This means the packages that are compiled for Windows XP are not suitable for newer versions of Windows.

    As the may reason prevent some people like me to migrate to Qt 5.7.0 is we have to make the application can run on XP. Because there many old machines use XP. The user use XP just as it's 'enough' for them, they won't bother to update to a new one.

    If you want to continue supporting Windows XP, Qt offers you two solutions:

    1. Create your own custom build of Qt 5.6 (Embedded system developers do this regularly), OR
    2. Use an older version of Qt that has been compiled for Windows XP.

    Qt 5.6 does provide support for Windows XP until 2019. However, this support is about fixing bugs, not ready-made builds.



  • Thanks for your explanation. One reason I don't want to go back to older versions is that I have migrated to VS2015, but the older versions don't provide pre-built libraries compiled with it.

    I think I have to compile the Qt 5.6.1 with XP support or compile the older versions, such as Qt 5.5.1 with VS2015.


  • Moderators

    You're welcome :)

    You can find build instructions at https://wiki.qt.io/Building_Qt_5_from_Git If you need any help, please feel free to ask.


Log in to reply