Open Hlongyu opened 2 weeks ago
Check that the DLLs for jpeg and webp libs are deployed and found, too. When it comes to plugins, deployment of transitive runtime dependencies is ... tricky.
Check that the DLLs for jpeg and webp libs are deployed and found, too.
Directory: D:\dev\qt-bug-report\out\build\windows-x64-Debug\imageformats
Mode LastWriteTime Length Name
-a--- 2024/8/30 10:39 130560 qgifd.dll -a--- 2024/8/30 10:49 157696 qicnsd.dll -a--- 2024/8/30 10:39 137216 qicod.dll -a--- 2024/8/30 10:39 162816 qjpegd.dll -a--- 2024/8/30 10:49 97280 qtgad.dll -a--- 2024/8/30 10:49 93184 qwbmpd.dll -a--- 2024/8/30 10:49 105984 qwebpd.dll
These are the Qt plugins. Some plugins need DLLs with the actual implementation.
When i debug step by step. I found it will call LoadLibrary() for qjpegd.dll.
hnd = LoadLibrary(reinterpret_cast<const wchar_t*>(QDir::toNativeSeparators(attempt).utf16()));
Loaded 'D:\dev\qt-bug-report\out\build\windows-x64-Debug\imageformats\qjpegd.dll'. Symbols loaded.
Unloaded 'D:\dev\qt-bug-report\out\build\windows-x64-Debug\imageformats\qjpegd.dll'.
That's just the same information as in the initial post: It fails to load the plugin. But the plugin is there. I already suggest that it might be failing because the plugin fails find runtime dependencies (DLLs), here the jpeg DLL from port libjpeg-turbo.
Describe the bug QImageReader::supportedImageFormats() not include jpeg and webp
Environment
To Reproduce Steps to reproduce the behavior:
vcpkg.json
main.cpp
CMakeLists.txt
CMakePresets.json
Expected behavior Support jpeg and webp.
Failure logs