error: 'GetDpiForWindow' was not declared in this scope
AhsanSarwar45 opened this issue · comments
Ahsan Sarwar commented
I get multiple compiler errors like this using Windows 10 Version 10.0.19043 Build 19043.
Tried both GCC 11.2 and Clang 13.0. Any ideas on what the issue might be?
[build] G:/Dev/RenderingEngine/Vendor/CrossWindow/src/CrossWindow/Win32/Win32Window.cpp: In member function 'bool xwin::Window::create(const xwin::WindowDesc&, xwin::EventQueue&)':
[build] G:/Dev/RenderingEngine/Vendor/CrossWindow/src/CrossWindow/Win32/Win32Window.cpp:113:48: error: 'SetThreadDpiAwarenessContext' was not declared in this scope
[build] 113 | DPI_AWARENESS_CONTEXT previousDpiContext = SetThreadDpiAwarenessContext(
[build] | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
[build] G:/Dev/RenderingEngine/Vendor/CrossWindow/src/CrossWindow/Win32/Win32Window.cpp:144:20: error: 'GetDpiForWindow' was not declared in this scope; did you mean 'GetTopWindow'?
[build] 144 | int iDpi = GetDpiForWindow(hwnd);
[build] | ^~~~~~~~~~~~~~~
[build] | GetTopWindow
[build] G:/Dev/RenderingEngine/Vendor/CrossWindow/src/CrossWindow/Win32/Win32Window.cpp: In member function 'float xwin::Window::getDpiScale() const':
[build] G:/Dev/RenderingEngine/Vendor/CrossWindow/src/CrossWindow/Win32/Win32Window.cpp:236:22: error: 'GetDpiForWindow' was not declared in this scope; did you mean 'GetTopWindow'?
[build] 236 | int currentDpi = GetDpiForWindow(hwnd);
[build] | ^~~~~~~~~~~~~~~
[build] | GetTopWindow
[build] [2/4 50% :: 6.310] Building CXX object Vendor/CrossWindow/CMakeFiles/CrossWindow.dir/src/CrossWindow/Win32/Win32EventQueue.cpp.obj
[build] FAILED: Vendor/CrossWindow/CMakeFiles/CrossWindow.dir/src/CrossWindow/Win32/Win32EventQueue.cpp.obj
[build] D:\Apps\msys2\mingw64\bin\x86_64-w64-mingw32-g++.exe -DXWIN_WIN32=1 -IG:/Dev/RenderingEngine/Vendor/CrossWindow/src -g -std=c++14 -MD -MT Vendor/CrossWindow/CMakeFiles/CrossWindow.dir/src/CrossWindow/Win32/Win32EventQueue.cpp.obj -MF Vendor\CrossWindow\CMakeFiles\CrossWindow.dir\src\CrossWindow\Win32\Win32EventQueue.cpp.obj.d -o Vendor/CrossWindow/CMakeFiles/CrossWindow.dir/src/CrossWindow/Win32/Win32EventQueue.cpp.obj -c G:/Dev/RenderingEngine/Vendor/CrossWindow/src/CrossWindow/Win32/Win32EventQueue.cpp
[build] G:/Dev/RenderingEngine/Vendor/CrossWindow/src/CrossWindow/Win32/Win32EventQueue.cpp: In member function 'LRESULT xwin::EventQueue::pushEvent(MSG, xwin::Window*)':
[build] G:/Dev/RenderingEngine/Vendor/CrossWindow/src/CrossWindow/Win32/Win32EventQueue.cpp:758:28: error: 'GetDpiForWindow' was not declared in this scope; did you mean 'GetTopWindow'?
[build] 758 | int iDpi = GetDpiForWindow(window->hwnd);
[build] | ^~~~~~~~~~~~~~~
[build] | GetTopWindow
Alien Self commented
Same here :(