Qt Creator 6.0.1 and Qt 6.2.2 running on Windows 7
-
Sorry I'm swamped with work now, but when Qt 6.3.0 arrives I might give it a shot re. Windows 7...
wrote on 19 Apr 2022, 07:06 last edited by@hskoglund Build error, Qt 6.3.
-
wrote on 26 Apr 2022, 14:14 last edited by dmginc
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
-
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
-
@dmginc I have difficulty applying the diff.txt file. Would you mind providing the changed source files for download? Thank you.
wrote on 28 Apr 2022, 03:21 last edited by -
wrote on 28 Apr 2022, 03:32 last edited by
Great work! I remember struggling with the correct settings for the SDK vars like WINVER, _WIN32_WINNT etc. and left them in a messy state, your .bat file above is a cleaner approach :-)
-
wrote on 8 May 2022, 13:32 last edited by subalternpushingtech29087 5 Aug 2022, 13:34
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
-
wrote on 9 May 2022, 17:43 last edited by
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
-
wrote on 18 May 2022, 15:04 last edited by
Missed some things in my first set of patched DLLs.
Updated files can be found here: https://web.tresorit.com/l/jPIZs#9pBaP_Eq527nGMyzn2fk8A
-
wrote on 23 Jul 2022, 07:28 last edited by
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.
-
wrote on 23 Jul 2022, 14:30 last edited by
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. -
wrote on 24 Jul 2022, 02:29 last edited by
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.
-
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.
wrote on 26 Jul 2022, 16:27 last edited byI 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 -
wrote on 26 Jul 2022, 16:39 last edited by
I just compiled a new Qt 6.3.1 Widgets app and tested your 6.3.1 files on my Windows 7 PC. works like a charm :-)
Nice work! -
wrote on 26 Jul 2022, 23:38 last edited by
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? -
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?@HiXeus Is your post somehow related to this thread or to Qt at all?
-
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#yGMg45iqZObF8miEZt7FaAwrote on 27 Jul 2022, 09:37 last edited by@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.
-
wrote on 27 Jul 2022, 10:15 last edited by
Hi, Calibre 6.1 uses Python 3.10 which does not work on Windows 7 :-(
-
Hi, Calibre 6.1 uses Python 3.10 which does not work on Windows 7 :-(
wrote on 27 Jul 2022, 15:41 last edited by Grdes@hskoglund and @bplastos
Use the QT6 files from the link above (great work btw) and then run Calibre using this: https://github.com/vxiiduu/VxKex in Win10 compatibility for calibre.exe It should work now just fine. At least it starts for me. -
@hskoglund and @bplastos
Use the QT6 files from the link above (great work btw) and then run Calibre using this: https://github.com/vxiiduu/VxKex in Win10 compatibility for calibre.exe It should work now just fine. At least it starts for me.wrote on 27 Jul 2022, 22:48 last edited by bplastos@Grdes said in Qt Creator 6.0.1 and Qt 6.2.2 running on Windows 7:
@hskoglund and @bplastos
Use the QT6 files from the link above (great work btw) and then run Calibre using this: https://github.com/vxiiduu/VxKex in Win10 compatibility for calibre.exe It should work now just fine. At least it starts for me.@Grdes - Please forgive my ignorance, but can you explain in detail, or point me to some detailed instructions, of how exactly to run Calibre using that project? And please be clear. Are you talking about running the portable version of Calibre (I hope)?
EDIT: I THINK I figured out how to install VxKex v0.0.0.2. I installed https://github.com/vxiiduu/VxKex/releases/download/Version0.0.0.2/KexSetup_x64Rel.exe. But still no success.
I installed https://download.calibre-ebook.com/6.0.0/calibre-portable-installer-6.0.0.exe, which seems to install. I replaced the Qt files with the latest patched Qt 6.3.1 files from @dmginc, then enabled VxKex for Calibre\calibre.exe and set it for Win 10 compatability. (Was that the ONLY file that needs VxKex enabled?) Again, nothing happens when I try to launch the app. Did you have to do anything to get around the Python 3.10 incompatibility issue?
EDIT2: Partial success! If I get a version of api-ms-win-core-path-l1-1-0.dll from here - https://github.com/nalexandru/api-ms-win-core-path-HACK/releases/download/0.3.1/api-ms-win-core-path-blender-0.3.1.zip - and copy it to Calibre\app\bin, then Calibre will indeed launch. But it won't do many of Calibre's functions. The eBook viewer doesn't work, it won't edit an eBook, nor will it convert to or from any of the eBook formats. I tried enabling VxKex for ALL of the Calibre exe files I could find, but no change. It launches, but doesn't really work. So a step in the right direction, but...