Problem converting app from 64 bit to 32 bit architecture
-
Hello.
I built an app using Qt 5.12 and MinGW 7.3 x64 bit. In order to have it in 32 bit I downloaded the Qt 5.10 and MinGW 5.3 x32 bit using Qt Maintenance Tool, created a new project using this kit and took all the libraries, sources and form files from the x64 bit project. Compiled it, then released it. I deployed the app using the windeployqt tool from MinGW 5.3 bin folder but when I attempt to run it I receive:
"The application was unable to start correctly. (0xc0000007b)"
The app works in Qt in Release mode. What have I done wrong and what should I do to make it work? I am up against a deadline now, so quick help is much appreciated.Thank you! :)
EDIT: I found a solution. I added these dlls:
libwinpthread-1.dll
libstdc++-6.dll
libgcc_s_dw2-1.dll
From QTFolder\Tools\mingw530_32\bin and it seems to work now. However if you do feel I might be missing something out here and this app might not run on someone else's PC, please feel free to offer a suggestion. :) -
Hi
You did the right thing running windeployqt.
Often the mingw runtime are missing so copying them seems fine. (also from right place)
I like this site for deployment info
http://www.tripleboot.org/?p=138 -
The installer Works, the program runs, however I have a situation. The Release app in Qt can use the ODBC Connector but the deployed app cannot. Do you have any idea?
-
It does not work. I already had the sql drivers folder in there with 4 dll files but I get Driver not loader error. I am rather desperate because the deadline is in 3 hours. I can give you other details if you need.
-
Well if you have it working from Qt Creator, start it there and then run ListDLLs ( https://download.sysinternals.com/files/ListDlls.zip
locate the .exe file in the list and take a photo of all the .dlls it loads (it's shown in the lower pane of ListDLLs)
Then start the faulty .exe file and compare the .dlls loaded, if the're some missing that's your culprit -
Hi,
You can start the application with the
QT_DEBUG_PLUGINS
environment variable set to 1.It will show more information about what is going on.
-
It does not work. I already had the sql drivers folder in there with 4 dll files but I get Driver not loader error. I am rather desperate because the deadline is in 3 hours. I can give you other details if you need.
@Paul-Orasan To add to others: if your 64bit setup is working then you can compare both deployed folders and check whether there are any differences.