[qt5-base] Don't link to "MinCore.lib", it breaks compatibility with Windows 7#10806
[qt5-base] Don't link to "MinCore.lib", it breaks compatibility with Windows 7#10806davidebeatrici wants to merge 1 commit intomicrosoft:masterfrom
Conversation
|
Please try #10644 instead. The wrapper has been remove there and was replaced with a *.prl parser. |
|
I will, thank you. Windows 7 is still supported for ESU (Extended Security Updates) users: https://support.microsoft.com/en-us/help/4527878/faq-about-extended-security-updates-for-windows-7 |
|
I confirm #10644 fixes the issue. |
|
@davidebeatrici So, do you want to continue this PR? |
|
Yes, it seems that #10644 is W.I.P. |
|
Please get failure log here. |
|
Is the failure related to my changes? I don't see failure logs for any Qt ports. |
|
the problem is related to the |
|
Shouldn't OpenSSL link to that instead? |
|
CMakes FindOpenSSL does not automatically link against crypt32.lib in static builds. |
|
I see, that's unfortunate. I will update the pull request, thank you. |
…Windows 7 From https://docs.microsoft.com/en-us/windows/win32/apiindex/windows-81-api-sets: "Binaries that link to MinCore.lib or MinCore_Downlevel.lib are not designed to work on Windows 7, Windows Server 2008 R2 or earlier. Binaries that need to run on earlier versions of Windows or Windows Server must not use either MinCore.lib or MinCore_Downlevel.lib." More specifically, linking an application to a target provided by this port causes it to fail to load because it looks for unavailable UCRT DLLs. This commit changes the port so that it links to the "normal" libraries rather than MinCore.lib, effectively making the port compatible with Windows 7. Please note that "UxTheme.lib" was already missing: Qt5Widgets.lib(qwizard_win.obj) : error LNK2019: unresolved external symbol __imp_OpenThemeData referenced in function "public: class QColor __cdecl QVistaHelper::basicWindowFrameColor(void)" (?basicWindowFrameColor@QVistaHelper@@qeaa?AVQColor@@xz) Qt5Widgets.lib(qwizard_win.obj) : error LNK2019: unresolved external symbol __imp_DrawThemeBackground referenced in function "public: virtual void __cdecl QVistaBackButton::paintEvent(class QPaintEvent *)" (?paintEvent@QVistaBackButton@@UEAAXPEAVQPaintEvent@@@z) Qt5Widgets.lib(qwizard_win.obj) : error LNK2019: unresolved external symbol __imp_GetThemeColor referenced in function "public: class QColor __cdecl QVistaHelper::basicWindowFrameColor(void)" (?basicWindowFrameColor@QVistaHelper@@qeaa?AVQColor@@xz) Qt5Widgets.lib(qwizard_win.obj) : error LNK2019: unresolved external symbol __imp_GetThemeSysFont referenced in function "struct tagLOGFONTW __cdecl getCaptionLogFont(void *)" (?getCaptionLogFont@@ya?AUtagLOGFONTW@@Peax@Z) Qt5Widgets.lib(qwizard_win.obj) : error LNK2019: unresolved external symbol __imp_IsThemeActive referenced in function "private: static bool __cdecl QVistaHelper::drawBlackRect(class QRect const &,struct HDC__ *)" (?drawBlackRect@QVistaHelper@@CA_NAEBVQRect@@PEAUHDC__@@@z) Qt5Widgets.lib(qwizard_win.obj) : error LNK2019: unresolved external symbol __imp_SetWindowThemeAttribute referenced in function "public: void __cdecl QVistaHelper::setTitleBarIconAndCaptionVisible(bool)" (?setTitleBarIconAndCaptionVisible@QVistaHelper@@QEAAX_N@Z) Qt5Widgets.lib(qwizard_win.obj) : error LNK2019: unresolved external symbol __imp_DrawThemeTextEx referenced in function "private: bool __cdecl QVistaHelper::drawTitleText(class QPainter *,class QString const &,class QRect const &,struct HDC__ *)" (?drawTitleText@QVistaHelper@@AEAA_NPEAVQPainter@@AEBVQString@@AEBVQRect@@PEAUHDC__@@@z)
e9d661c to
3f13fa2
Compare
|
@Neumann-A Any question else? |
|
@JackBoosY: No but if this is merged into master it will generate a merge conflict in #10644 which probably means CI will rerun unnecessarily for #10644 when I solve that merge conflict. The rerun is unnecessary since I completely removed the wrapper in #10644 since it does not correctly work if there are additional dependencies which vcpkg currently does not take into account correctly. |
|
since #10644 has been merge this PR can be closed according to #10806 (comment) |
|
Thank you very much for your work! |
From https://docs.microsoft.com/en-us/windows/win32/apiindex/windows-81-api-sets:
More specifically, linking an application to a target provided by this port causes it to fail to load because it looks for unavailable UCRT DLLs.
This pull request changes the port so that it links to the "normal" libraries rather than
MinCore.lib, effectively making the port compatible with Windows 7.Please note that
UxTheme.libwas already missing: