Qt 64 bits application
-
I used the dependencies program to check my application,
The first time I got missing dll from Qt6 so I updated the system PATH to have C:\Qt\6.8.1\mingw_64\bin. It fixed all missing dlls related to Qt but still some of them are missing, which seems to be related to Windows:
ext-ms-win-oobe-query-11-1-0.dll
ext-ms-win32-subsystem-query-11-1-0.dll
HvsiFileTrust.dllThere is some other missing, which seems to be related to matlab:
libmwfl.dll
libmwi18n.dll
libut.dll
libmwcppmicroservices.dll
mwboost_log-vc142-mt-x64-1_75.dll
CppMicroServices3.dll
hdf5-1.8.dll
icuuc69.dllI will add them manually.
I will also uninstall old matlab version I am not using anymore and see if it change something.
Have a nice day,
Pierre-Emmanuel -
@Pierre-Emmanuel
I will just say you may be disappearing down a rabbit hole. I think some of these might be "false negatives" reported by the tool, e.g. see https://www.reddit.com/r/AskProgramming/comments/xxzpfk/reputable_sources_for_missing_dlls/ has a couple of yours, I don't know.Maybe it's time for you to find a matlab forum and ask for help/clues/pointers there for whatever your issue is?
-
I think it is yes,
Thank you JonB and SGaist for helping me.
I will keep posting here if I have more details or more founding !
-
What I would do is to empty the PATH environnement variable in Qt Creator and add yourself what is required for your application to work so it only contains entries pertinent to your application just to be sure there's no other DLLs found beside the ones your really need.
-
Hi SGaist,
Sorry I come back to this topic quite late.
I asked the question HERE on the matlab forum.I have tried clearing the PATH environment variable from Qt Creator by checking "Clear System environment" checkbox:
But then I got new issues to build the app like:
I guess I need to keep some environment variables ?
Thank you for you help,
Have a nice day,Pierre-Emmanuel
-
@Pierre-Emmanuel said in Qt 64 bits application:
by checking "Clear System environment" checkbox
Why? Only change PATH, nothing else.
-
I have found it !!!!!
Thank you @jsulm for this info, it solved the new problems I was facing !
The problem was coming from the fact that Qt Creator does not search recursively in the folders.
In the PATH environment variable, I had the following path <matlab_folder>\R2022b\bin registered. But the missing dlls were in <matlab_folder>\R2022b\bin\win64 ...
Once I updated the PATH in Qt Creator, I could run the application as before !!
Thank you very much guys, you all have been of great help !
On my side the problem is solved, I will also update the matlab forum.
Have a very good week,
Pierre-Emmanuel -
@Pierre-Emmanuel Glad you found out but it has nothing to do with Qt Creator, that's how the PATH environment variable works on Windows.
-
Maybe or maybe not ?
I mean, I had something working with Qt 5.15 (I don't remember Qt Creator version at that moment), I did not change my PATH environment variable, and when I upgraded to Qt 6.8.1, it was not working anymore.
I thought Qt would search recursively in the folders registered in the PATH and I was wrong.
Thank you for your help,
Have a nice day,
Pierre-Emmanuel -
-
@Pierre-Emmanuel said in Qt 64 bits application:
Maybe or maybe not ?
Not "maybe". Creator (nor Qt itself) has nothing to do with runtime searching for libraries/DLLs for an executable. That is done by the OS/Windows, and that requires them to be found on either
PATH
or in the same directory as the executable. This would also be the case if you ran your program quite outside of Creator. No OS searchesPATH
recursively (would be too slow and too dangerous). So something has changed between your Qt5/6 or its environment.