Qt Creator 6.0.1 and Qt 6.2.2 running on Windows 7
-
subalternpushingtech29087replied to subalternpushingtech29087 on last edited by subalternpushingtech29087
@hskoglund , would still appreciate if you could help a bro out here...as said i posted you one of the apps i use also in chat .....also if you have discord id like to add you to my friends list
-
@hskoglund very nice my man , appreciate it alot!
-
With some initial guidance from @hskoglund (thanks!), I have managed to create Windows 7-compatible DLLs for Qt 6.3.0 (QtCore, QtGui, qwindows).
Purely for experimental/"at your own risk" use of course :)
Download for DLLs (also contains diff file showing the modifications needed to the original source files): https://web.tresorit.com/l/idV8c#QwlBcUwvkQYjzbRSWlZlnQ
Any issues, please let me know.
EDIT: Here is the batch file I used to setup my environment for building:
@echo off REM Set up Microsoft Visual Studio 2019, where <arch> is amd64, x86, etc. CALL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 REM Edit this location to point to the source code of Qt SET _ROOT=C:\projects\qt5 SET PATH=%_ROOT%\qtbase\bin;%PATH% SET PATH=C:\ninja;%PATH% cd %_ROOT% SET _ROOT= REM Set Windows version macros to Windows 7 SET CL=/DWINVER=0x0601 %CL% SET CL=/D_WIN32_WINNT=0x0601 %CL% SET CL=/DNTDDI_VERSION=0x06010000 %CL% REM Assume Internet Explorer 8.0 REM See https://docs.microsoft.com/en-us/windows/win32/winprog/using-the-windows-headers#macros-for-conditional-declarations SET CL=/D_WIN32_IE=0x0800 %CL% REM Keeps the command line open when this script is run. cmd /k
-
not sure but maybe an sorts of autopatcher .....to make future QT built Apps work on W7 would be a pretty epic thing, so say you gots an App that uses QT for its GUI etc and for the patcher to just patch all .dlls so App runs on W7
-
Another option would be to use the MinGW Qt Creator releases from GitHub.
Then copy
api-ms-win-core-synch-l1-2-0.dll
anddxgi.dll
from api-ms-win-core-synch-Win7 to Qt Creator'sbin
directory and then have this working:This solution has minimal changes and should be easier to follow. Note that I haven't done extensive testing, just a hello world example built with MinGW 11.2.0, CMake 3.23.1 and Ninja 1.10.2
-
Missed some things in my first set of patched DLLs.
Updated files can be found here: https://web.tresorit.com/l/jPIZs#9pBaP_Eq527nGMyzn2fk8A
-
I realize that this topic is a bit old, but I'm hoping that either @hskoglund or @dmginc is still around.
I've not developed Qt applications (yet :) ), but am just a user and am still primarily using Windows 7 (don't judge or comment, I understand the arguments of why I shouldn't). I often use portable applications which have been built using Qt, such as Calibre. Applications which have been built using Qt 5.x still work perfectly fine, but ones built with Qt 6 do not. When I saw this thread with a simple set of 3 patched files, I thought this was great, but unfortunately, when I replace the 3 files in my portable application, nothing at all visibly happens when I try to launch the app. I am assuming that is because the portable application was built using Qt 6.3.1, and the latest patched files are for Qt 6.3.0?
I am hoping that some kind soul can either provide a set of patched Qt 6.3.1 files and/or provide a set of Qt 6.3.0 original files necessary to "downgrade" my portable application to use Qt 6.3.0, or suggest another solution to my problem.
Thanks in advance for any help you might be able to provide.
-
Hi, I think your best best is to install Qt 6.3.0 and build your app with it. then use the link above for the 3 patched .dlls.
It is possible to install Qt 6.3.0 using the online Qt installer, however you first have to click the "Archive" checkbox to the right and then the "Filter" button.
Also note that the patch is only applicable for Widgets apps (not QML) and only for dynamically built Qt 6.3.0 versions. -
Thanks for replying @hskoglund, but the portable app is already built by others - https://calibre-ebook.com. You can get the various portable versions of the app here - https://download.calibre-ebook.com. The earlier versions of the portable app, through 5.xx, work fine on Windows 7. I'm just trying to find a way to run the latest versions of the app, 6.0.0 and 6.1.0, on Windows 7. The 6.0.0 and 6.1.0 versions were built using Qt 6.3.1, hence my request for either patched versions of the 6.3.1 files, or original versions of the 6.3.0 files other than the patched ones so I can convert the entire app to a 6.3.0 implementation, if that's possible.
-
I took a look at the diff between Qt 6.3.0 and 6.3.1:
Out of the files that need to be modified for running under Windows 7, three source files have been modified: qwindowswindow.cpp, qrhid3d11.cpp, qwindowscontext.cpp
Anyway, I was apply to apply my 6.3.0 changes patch directly as there were no overlapping changes.
Could you try these DLLs under Windows 7?
https://web.tresorit.com/l/iWnTl#yGMg45iqZObF8miEZt7FaA -
I'd like to ask for someone to patch a bunch of dlls for me too (from dolphin-emu.org), but since it's an actively developing project, it means you have to patch 'em with every release.
So can I have a detailed tutorial and a list of needed tools to patch them myself? -
@dmginc Thank you very much for your efforts. Unfortunately, it made no difference in trying to get the latest versions of Calibre portable to run under Windows 7. There must be something else besides Qt changes that is preventing it from launching.
-
Hi, Calibre 6.1 uses Python 3.10 which does not work on Windows 7 :-(