windeployqt wrong bitness on .dlls (after switch to windows 11)?
-
wrote on 13 Nov 2023, 11:47 last edited by
Hey,
I have an QT 5.15.2 application that I have been able to make releases for using visual studio 2022 on windows 10.
Now when I have taken a break from the project and I create a release, the release will crash with a 0xc000007b error.
The only thing that has happened during the break is that my PC has been upgraded with windows 11.
The old release that I created in windows 10 can still be run in windows 11.
I can still run my application in debug mode.
As I have come to understand the error 0xc000007b indicates a mismatch in the bitness of the .dll:s and the .exe. This is indeed a difference between my newly created releases and the old, working, release. The .dll:s are now 64-bit while the .exe is 32-bit, when in the old release everything is 32-bit.
This seems to me that the windeployqt has a different behaviour in the collection of .dll:s? Have anyone else run into this issue? I am a bit afraid to start messing with the windeployqt without knowing what I am doing...
-
@Daddedebad said in windeployqt wrong bitness on .dlls (after switch to windows 11)?:
This seems to me that the windeployqt has a different behaviour in the collection of .dll:s?
I don't believe windeployqt has changed behaviour.
Rather, you need to run the correct copy of windeployqt -- If you run the 64-bit windeployqt, then it will give you the 64-bit DLLs.
So, first things first: What is the full path to the version of Qt that you used to build your application? Look in that same folder for the correct copy of windeployqt.
wrote on 24 Nov 2023, 13:42 last edited by@JKSH Hey, thanks for the answer and sorry for the very late reply.
My path: C:\Qt\5.15.2\msvc2019\bin
The bitness of the windeploy.exe in that path is 32-bit.
It seems I misunderstood/forgot how the windeployqt is used, that I need to run it for each new release. The dll:s still are of different bitness from the application's .exe but I guess that's fine then...
It works now.
-
Hey,
I have an QT 5.15.2 application that I have been able to make releases for using visual studio 2022 on windows 10.
Now when I have taken a break from the project and I create a release, the release will crash with a 0xc000007b error.
The only thing that has happened during the break is that my PC has been upgraded with windows 11.
The old release that I created in windows 10 can still be run in windows 11.
I can still run my application in debug mode.
As I have come to understand the error 0xc000007b indicates a mismatch in the bitness of the .dll:s and the .exe. This is indeed a difference between my newly created releases and the old, working, release. The .dll:s are now 64-bit while the .exe is 32-bit, when in the old release everything is 32-bit.
This seems to me that the windeployqt has a different behaviour in the collection of .dll:s? Have anyone else run into this issue? I am a bit afraid to start messing with the windeployqt without knowing what I am doing...
@Daddedebad said in windeployqt wrong bitness on .dlls (after switch to windows 11)?:
This seems to me that the windeployqt has a different behaviour in the collection of .dll:s?
I don't believe windeployqt has changed behaviour.
Rather, you need to run the correct copy of windeployqt -- If you run the 64-bit windeployqt, then it will give you the 64-bit DLLs.
So, first things first: What is the full path to the version of Qt that you used to build your application? Look in that same folder for the correct copy of windeployqt.
-
@Daddedebad said in windeployqt wrong bitness on .dlls (after switch to windows 11)?:
This seems to me that the windeployqt has a different behaviour in the collection of .dll:s?
I don't believe windeployqt has changed behaviour.
Rather, you need to run the correct copy of windeployqt -- If you run the 64-bit windeployqt, then it will give you the 64-bit DLLs.
So, first things first: What is the full path to the version of Qt that you used to build your application? Look in that same folder for the correct copy of windeployqt.
wrote on 24 Nov 2023, 13:42 last edited by@JKSH Hey, thanks for the answer and sorry for the very late reply.
My path: C:\Qt\5.15.2\msvc2019\bin
The bitness of the windeploy.exe in that path is 32-bit.
It seems I misunderstood/forgot how the windeployqt is used, that I need to run it for each new release. The dll:s still are of different bitness from the application's .exe but I guess that's fine then...
It works now.
-