protonscr

Cannot compile latest master: std::mutex is undefined

dxvkclosed READ MEnot a bug
doitsujin/dxvk#1970 · opened 2021-03-09 by raffaelemancuso · updated 2021-03-10 · 3 comments · github
Rraffaelemancuso 2021-03-09 github

Maybe an #include is missing somewhere?

$ ./package-release.sh master ./build --no-package
The Meson build system
Version: 0.55.3
Source dir: /media/raffaele/intdata/progetti_altrui/dxvk
Build dir: /media/raffaele/intdata/progetti_altrui/dxvk/build/dxvk-master/build.64
Build type: cross build
Project name: dxvk
Project version: v1.8.1
C compiler for the build machine: ccache cc (gcc 10.2.0 "cc (Ubuntu 10.2.0-13ubuntu1) 10.2.0")
C linker for the build machine: cc ld.bfd 2.35.1
C++ compiler for the build machine: ccache c++ (gcc 10.2.0 "c++ (Ubuntu 10.2.0-13ubuntu1) 10.2.0")
C++ linker for the build machine: c++ ld.bfd 2.35.1
C compiler for the host machine: x86_64-w64-mingw32-gcc (gcc 9.3.0 "x86_64-w64-mingw32-gcc (GCC) 9.3-win32 20200320")
C linker for the host machine: x86_64-w64-mingw32-gcc ld.bfd 2.34
C++ compiler for the host machine: x86_64-w64-mingw32-g++ (gcc 9.3.0 "x86_64-w64-mingw32-g++ (GCC) 9.3-win32 20200320")
C++ linker for the host machine: x86_64-w64-mingw32-g++ ld.bfd 2.34
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
Compiler for C++ supports link arguments -Wl,--file-alignment=4096: YES 
Program x86_64-w64-mingw32-windres found: YES
Library vulkan-1 found: YES
Library d3d9 found: YES
Library d3d11 found: YES
Library dxgi found: YES
Library d3dcompiler_43 found: YES
Library d3dcompiler_47 found: YES
Program glslangValidator found: YES
Run-time dependency threads found: YES
Dependency threads found: YES unknown (cached)
Build targets in project: 13

Found ninja-1.10.0 at /usr/bin/ninja
[4/268] Compiling C++ object src/util/libutil.a.p/log_log_debug.cpp.obj
FAILED: src/util/libutil.a.p/log_log_debug.cpp.obj 
x86_64-w64-mingw32-g++ -Isrc/util/libutil.a.p -Isrc/util -I../../../src/util -I../../../include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -MD -MQ src/util/libutil.a.p/log_log_debug.cpp.obj -MF src/util/libutil.a.p/log_log_debug.cpp.obj.d -o src/util/libutil.a.p/log_log_debug.cpp.obj -c ../../../src/util/log/log_debug.cpp
In file included from ../../../src/util/log/log_debug.h:5,
                 from ../../../src/util/log/log_debug.cpp:1:
../../../src/util/log/log.h:50:10: error: ‘mutex’ in namespace ‘std’ does not name a type
   50 |     std::mutex    m_mutex;
      |          ^~~~~
../../../src/util/log/log.h:7:1: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
    6 | #include <mutex>
  +++ |+#include <mutex>
    7 | #include <string>
[8/268] Compiling C++ object src/util/libutil.a.p/util_luid.cpp.obj
FAILED: src/util/libutil.a.p/util_luid.cpp.obj 
x86_64-w64-mingw32-g++ -Isrc/util/libutil.a.p -Isrc/util -I../../../src/util -I../../../include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -MD -MQ src/util/libutil.a.p/util_luid.cpp.obj -MF src/util/libutil.a.p/util_luid.cpp.obj.d -o src/util/libutil.a.p/util_luid.cpp.obj -c ../../../src/util/util_luid.cpp
In file included from ../../../src/util/util_luid.cpp:4:
../../../src/util/./log/log.h:50:10: error: ‘mutex’ in namespace ‘std’ does not name a type
   50 |     std::mutex    m_mutex;
      |          ^~~~~
../../../src/util/./log/log.h:7:1: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
    6 | #include <mutex>
  +++ |+#include <mutex>
    7 | #include <string>
../../../src/util/util_luid.cpp: In function ‘LUID dxvk::GetAdapterLUID(UINT)’:
../../../src/util/util_luid.cpp:12:17: error: ‘mutex’ in namespace ‘std’ does not name a type
   12 |     static std::mutex        s_mutex;
      |                 ^~~~~
../../../src/util/util_luid.cpp:5:1: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
    4 | #include "./log/log.h"
  +++ |+#include <mutex>
    5 | 
../../../src/util/util_luid.cpp:15:26: error: ‘mutex’ is not a member of ‘std’
   15 |     std::lock_guard<std::mutex> lock(s_mutex);
      |                          ^~~~~
../../../src/util/util_luid.cpp:15:26: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
../../../src/util/util_luid.cpp:15:31: error: template argument 1 is invalid
   15 |     std::lock_guard<std::mutex> lock(s_mutex);
      |                               ^
../../../src/util/util_luid.cpp:15:38: error: ‘s_mutex’ was not declared in this scope
   15 |     std::lock_guard<std::mutex> lock(s_mutex);
      |                                      ^~~~~~~
../../../src/util/util_luid.cpp:15:33: warning: unused variable ‘lock’ [-Wunused-variable]
   15 |     std::lock_guard<std::mutex> lock(s_mutex);
      |                                 ^~~~
[10/268] Compiling C++ object src/util/libutil.a.p/util_monitor.cpp.obj
FAILED: src/util/libutil.a.p/util_monitor.cpp.obj 
x86_64-w64-mingw32-g++ -Isrc/util/libutil.a.p -Isrc/util -I../../../src/util -I../../../include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -MD -MQ src/util/libutil.a.p/util_monitor.cpp.obj -MF src/util/libutil.a.p/util_monitor.cpp.obj.d -o src/util/libutil.a.p/util_monitor.cpp.obj -c ../../../src/util/util_monitor.cpp
In file included from ../../../src/util/util_monitor.cpp:4:
../../../src/util/./log/log.h:50:10: error: ‘mutex’ in namespace ‘std’ does not name a type
   50 |     std::mutex    m_mutex;
      |          ^~~~~
../../../src/util/./log/log.h:7:1: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
    6 | #include <mutex>
  +++ |+#include <mutex>
    7 | #include <string>
[11/268] Compiling C++ object src/util/libutil.a.p/log_log.cpp.obj
FAILED: src/util/libutil.a.p/log_log.cpp.obj 
x86_64-w64-mingw32-g++ -Isrc/util/libutil.a.p -Isrc/util -I../../../src/util -I../../../include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -MD -MQ src/util/libutil.a.p/log_log.cpp.obj -MF src/util/libutil.a.p/log_log.cpp.obj.d -o src/util/libutil.a.p/log_log.cpp.obj -c ../../../src/util/log/log.cpp
In file included from ../../../src/util/log/log.cpp:1:
../../../src/util/log/log.h:50:10: error: ‘mutex’ in namespace ‘std’ does not name a type
   50 |     std::mutex    m_mutex;
      |          ^~~~~
../../../src/util/log/log.h:7:1: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
    6 | #include <mutex>
  +++ |+#include <mutex>
    7 | #include <string>
../../../src/util/log/log.cpp: In member function ‘void dxvk::Logger::emitMsg(dxvk::LogLevel, const string&)’:
../../../src/util/log/log.cpp:53:28: error: ‘mutex’ is not a member of ‘std’
   53 |       std::lock_guard<std::mutex> lock(m_mutex);
      |                            ^~~~~
../../../src/util/log/log.cpp:4:1: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
    3 | #include "../util_env.h"
  +++ |+#include <mutex>
    4 | 
../../../src/util/log/log.cpp:53:33: error: template argument 1 is invalid
   53 |       std::lock_guard<std::mutex> lock(m_mutex);
      |                                 ^
../../../src/util/log/log.cpp:53:40: error: ‘m_mutex’ was not declared in this scope
   53 |       std::lock_guard<std::mutex> lock(m_mutex);
      |                                        ^~~~~~~
../../../src/util/log/log.cpp:53:35: warning: unused variable ‘lock’ [-Wunused-variable]
   53 |       std::lock_guard<std::mutex> lock(m_mutex);
      |                                   ^~~~
[12/268] Compiling C++ object src/util/libutil.a.p/util_gdi.cpp.obj
FAILED: src/util/libutil.a.p/util_gdi.cpp.obj 
x86_64-w64-mingw32-g++ -Isrc/util/libutil.a.p -Isrc/util -I../../../src/util -I../../../include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -MD -MQ src/util/libutil.a.p/util_gdi.cpp.obj -MF src/util/libutil.a.p/util_gdi.cpp.obj.d -o src/util/libutil.a.p/util_gdi.cpp.obj -c ../../../src/util/util_gdi.cpp
In file included from ../../../src/util/util_gdi.cpp:2:
../../../src/util/log/log.h:50:10: error: ‘mutex’ in namespace ‘std’ does not name a type
   50 |     std::mutex    m_mutex;
      |          ^~~~~
../../../src/util/log/log.h:7:1: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
    6 | #include <mutex>
  +++ |+#include <mutex>
    7 | #include <string>
[14/268] Compiling C++ object src/spirv/libspirv.a.p/spirv_code_buffer.cpp.obj
FAILED: src/spirv/libspirv.a.p/spirv_code_buffer.cpp.obj 
x86_64-w64-mingw32-g++ -Isrc/spirv/libspirv.a.p -Isrc/spirv -I../../../src/spirv -I../../../include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -MD -MQ src/spirv/libspirv.a.p/spirv_code_buffer.cpp.obj -MF src/spirv/libspirv.a.p/spirv_code_buffer.cpp.obj.d -o src/spirv/libspirv.a.p/spirv_code_buffer.cpp.obj -c ../../../src/spirv/spirv_code_buffer.cpp
In file included from ../../../src/spirv/spirv_include.h:3,
                 from ../../../src/spirv/spirv_instruction.h:6,
                 from ../../../src/spirv/spirv_code_buffer.h:8,
                 from ../../../src/spirv/spirv_code_buffer.cpp:4:
../../../src/spirv/../util/log/log.h:50:10: error: ‘mutex’ in namespace ‘std’ does not name a type
   50 |     std::mutex    m_mutex;
      |          ^~~~~
../../../src/spirv/../util/log/log.h:7:1: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
    6 | #include <mutex>
  +++ |+#include <mutex>
    7 | #include <string>
[15/268] Compiling C++ object src/spirv/libspirv.a.p/spirv_compression.cpp.obj
FAILED: src/spirv/libspirv.a.p/spirv_compression.cpp.obj 
x86_64-w64-mingw32-g++ -Isrc/spirv/libspirv.a.p -Isrc/spirv -I../../../src/spirv -I../../../include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -MD -MQ src/spirv/libspirv.a.p/spirv_compression.cpp.obj -MF src/spirv/libspirv.a.p/spirv_compression.cpp.obj.d -o src/spirv/libspirv.a.p/spirv_compression.cpp.obj -c ../../../src/spirv/spirv_compression.cpp
In file included from ../../../src/spirv/spirv_include.h:3,
                 from ../../../src/spirv/spirv_instruction.h:6,
                 from ../../../src/spirv/spirv_code_buffer.h:8,
                 from ../../../src/spirv/spirv_compression.h:5,
                 from ../../../src/spirv/spirv_compression.cpp:1:
../../../src/spirv/../util/log/log.h:50:10: error: ‘mutex’ in namespace ‘std’ does not name a type
   50 |     std::mutex    m_mutex;
      |          ^~~~~
../../../src/spirv/../util/log/log.h:7:1: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
    6 | #include <mutex>
  +++ |+#include <mutex>
    7 | #include <string>
[16/268] Compiling C++ object src/util/libutil.a.p/com_com_guid.cpp.obj
FAILED: src/util/libutil.a.p/com_com_guid.cpp.obj 
x86_64-w64-mingw32-g++ -Isrc/util/libutil.a.p -Isrc/util -I../../../src/util -I../../../include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -MD -MQ src/util/libutil.a.p/com_com_guid.cpp.obj -MF src/util/libutil.a.p/com_com_guid.cpp.obj.d -o src/util/libutil.a.p/com_com_guid.cpp.obj -c ../../../src/util/com/com_guid.cpp
In file included from ../../../src/util/com/../../d3d11/../dxgi/../dxvk/dxvk_include.h:3,
                 from ../../../src/util/com/../../d3d11/../dxgi/dxgi_interfaces.h:3,
                 from ../../../src/util/com/../../d3d11/d3d11_interfaces.h:3,
                 from ../../../src/util/com/com_guid.cpp:3:
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/log/log.h:50:10: error: ‘mutex’ in namespace ‘std’ does not name a type
   50 |     std::mutex    m_mutex;
      |          ^~~~~
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/log/log.h:7:1: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
    6 | #include <mutex>
  +++ |+#include <mutex>
    7 | #include <string>
In file included from ../../../src/util/com/../../d3d11/../dxgi/../dxvk/dxvk_include.h:19,
                 from ../../../src/util/com/../../d3d11/../dxgi/dxgi_interfaces.h:3,
                 from ../../../src/util/com/../../d3d11/d3d11_interfaces.h:3,
                 from ../../../src/util/com/com_guid.cpp:3:
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/sync/sync_signal.h:88:10: error: ‘mutex’ in namespace ‘std’ does not name a type
   88 |     std::mutex              m_mutex;
      |          ^~~~~
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/sync/sync_signal.h:5:1: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
    4 | #include <condition_variable>
  +++ |+#include <mutex>
    5 | #include <mutex>
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/sync/sync_signal.h:89:10: error: ‘condition_variable’ in namespace ‘std’ does not name a type
   89 |     std::condition_variable m_cond;
      |          ^~~~~~~~~~~~~~~~~~
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/sync/sync_signal.h:5:1: note: ‘std::condition_variable’ is defined in header ‘<condition_variable>’; did you forget to ‘#include <condition_variable>’?
    4 | #include <condition_variable>
  +++ |+#include <condition_variable>
    5 | #include <mutex>
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/sync/sync_signal.h: In member function ‘virtual void dxvk::sync::Fence::signal(uint64_t)’:
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/sync/sync_signal.h:73:29: error: ‘mutex’ is not a member of ‘std’
   73 |       std::unique_lock<std::mutex> lock(m_mutex);
      |                             ^~~~~
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/sync/sync_signal.h:73:29: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/sync/sync_signal.h:73:34: error: template argument 1 is invalid
   73 |       std::unique_lock<std::mutex> lock(m_mutex);
      |                                  ^
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/sync/sync_signal.h:73:41: error: ‘m_mutex’ was not declared in this scope
   73 |       std::unique_lock<std::mutex> lock(m_mutex);
      |                                         ^~~~~~~
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/sync/sync_signal.h:75:7: error: ‘m_cond’ was not declared in this scope
   75 |       m_cond.notify_all();
      |       ^~~~~~
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/sync/sync_signal.h:73:36: warning: unused variable ‘lock’ [-Wunused-variable]
   73 |       std::unique_lock<std::mutex> lock(m_mutex);
      |                                    ^~~~
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/sync/sync_signal.h: In member function ‘virtual void dxvk::sync::Fence::wait(uint64_t)’:
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/sync/sync_signal.h:79:29: error: ‘mutex’ is not a member of ‘std’
   79 |       std::unique_lock<std::mutex> lock(m_mutex);
      |                             ^~~~~
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/sync/sync_signal.h:79:29: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/sync/sync_signal.h:79:34: error: template argument 1 is invalid
   79 |       std::unique_lock<std::mutex> lock(m_mutex);
      |                                  ^
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/sync/sync_signal.h:79:41: error: ‘m_mutex’ was not declared in this scope
   79 |       std::unique_lock<std::mutex> lock(m_mutex);
      |                                         ^~~~~~~
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/sync/sync_signal.h:80:7: error: ‘m_cond’ was not declared in this scope
   80 |       m_cond.wait(lock, [this, value] {
      |       ^~~~~~
[17/268] Compiling C++ object src/util/libutil.a.p/config_config.cpp.obj
FAILED: src/util/libutil.a.p/config_config.cpp.obj 
x86_64-w64-mingw32-g++ -Isrc/util/libutil.a.p -Isrc/util -I../../../src/util -I../../../include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -MD -MQ src/util/libutil.a.p/config_config.cpp.obj -MF src/util/libutil.a.p/config_config.cpp.obj.d -o src/util/libutil.a.p/config_config.cpp.obj -c ../../../src/util/config/config.cpp
In file included from ../../../src/util/config/config.cpp:8:
../../../src/util/config/../log/log.h:50:10: error: ‘mutex’ in namespace ‘std’ does not name a type
   50 |     std::mutex    m_mutex;
      |          ^~~~~
../../../src/util/config/../log/log.h:7:1: note: ‘std::mutex’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
    6 | #include <mutex>
  +++ |+#include <mutex>
    7 | #include <string>
ninja: build stopped: subcommand failed.
Rraffaelemancuso 2021-03-09 github

Now I get these:

FAILED: src/dxgi/dxgi.dll.p/dxgi_adapter.cpp.obj 
x86_64-w64-mingw32-g++ -Isrc/dxgi/dxgi.dll.p -Isrc/dxgi -I../../../src/dxgi -I../../../include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -MD -MQ src/dxgi/dxgi.dll.p/dxgi_adapter.cpp.obj -MF src/dxgi/dxgi.dll.p/dxgi_adapter.cpp.obj.d -o src/dxgi/dxgi.dll.p/dxgi_adapter.cpp.obj -c ../../../src/dxgi/dxgi_adapter.cpp
In file included from ../../../src/dxgi/dxgi_adapter.cpp:8:
../../../src/dxgi/dxgi_factory.h:13:41: error: ‘IDXGIFactory7’ was not declared in this scope; did you mean ‘IDXGIFactory2’?
   13 |   class DxgiFactory : public DxgiObject<IDXGIFactory7> {
      |                                         ^~~~~~~~~~~~~
      |                                         IDXGIFactory2
../../../src/dxgi/dxgi_factory.h:13:54: error: template argument 1 is invalid
   13 |   class DxgiFactory : public DxgiObject<IDXGIFactory7> {
      |                                                      ^
../../../src/dxgi/dxgi_factory.h:75:13: error: ‘DXGI_GPU_PREFERENCE’ has not been declared
   75 |             DXGI_GPU_PREFERENCE   GpuPreference,
      |             ^~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:20:31: error: ‘HRESULT dxvk::DxgiFactory::QueryInterface(const IID&, void**)’ marked ‘final’, but is not virtual
   20 |     HRESULT STDMETHODCALLTYPE QueryInterface(
      |                               ^~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:24:31: error: ‘HRESULT dxvk::DxgiFactory::GetParent(const IID&, void**)’ marked ‘final’, but is not virtual
   24 |     HRESULT STDMETHODCALLTYPE GetParent(
      |                               ^~~~~~~~~
../../../src/dxgi/dxgi_factory.h:28:28: error: ‘BOOL dxvk::DxgiFactory::IsWindowedStereoEnabled()’ marked ‘final’, but is not virtual
   28 |     BOOL STDMETHODCALLTYPE IsWindowedStereoEnabled() final;
      |                            ^~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:30:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSoftwareAdapter(HMODULE, IDXGIAdapter**)’ marked ‘final’, but is not virtual
   30 |     HRESULT STDMETHODCALLTYPE CreateSoftwareAdapter(
      |                               ^~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:34:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChain(IUnknown*, DXGI_SWAP_CHAIN_DESC*, IDXGISwapChain**)’ marked ‘final’, but is not virtual
   34 |     HRESULT STDMETHODCALLTYPE CreateSwapChain(
      |                               ^~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:39:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChainForHwnd(IUnknown*, HWND, const DXGI_SWAP_CHAIN_DESC1*, const DXGI_SWAP_CHAIN_FULLSCREEN_DESC*, IDXGIOutput*, IDXGISwapChain1**)’ marked ‘final’, but is not virtual
   39 |     HRESULT STDMETHODCALLTYPE CreateSwapChainForHwnd(
      |                               ^~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:47:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChainForCoreWindow(IUnknown*, IUnknown*, const DXGI_SWAP_CHAIN_DESC1*, IDXGIOutput*, IDXGISwapChain1**)’ marked ‘final’, but is not virtual
   47 |     HRESULT STDMETHODCALLTYPE CreateSwapChainForCoreWindow(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:54:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChainForComposition(IUnknown*, const DXGI_SWAP_CHAIN_DESC1*, IDXGIOutput*, IDXGISwapChain1**)’ marked ‘final’, but is not virtual
   54 |     HRESULT STDMETHODCALLTYPE CreateSwapChainForComposition(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:60:31: error: ‘HRESULT dxvk::DxgiFactory::EnumAdapters(UINT, IDXGIAdapter**)’ marked ‘final’, but is not virtual
   60 |     HRESULT STDMETHODCALLTYPE EnumAdapters(
      |                               ^~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:64:31: error: ‘HRESULT dxvk::DxgiFactory::EnumAdapters1(UINT, IDXGIAdapter1**)’ marked ‘final’, but is not virtual
   64 |     HRESULT STDMETHODCALLTYPE EnumAdapters1(
      |                               ^~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:68:31: error: ‘HRESULT dxvk::DxgiFactory::EnumAdapterByLuid(LUID, const IID&, void**)’ marked ‘final’, but is not virtual
   68 |     HRESULT STDMETHODCALLTYPE EnumAdapterByLuid(
      |                               ^~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:79:31: error: ‘HRESULT dxvk::DxgiFactory::EnumWarpAdapter(const IID&, void**)’ marked ‘final’, but is not virtual
   79 |     HRESULT STDMETHODCALLTYPE EnumWarpAdapter(
      |                               ^~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:83:31: error: ‘HRESULT dxvk::DxgiFactory::GetWindowAssociation(HWND__**)’ marked ‘final’, but is not virtual
   83 |     HRESULT STDMETHODCALLTYPE GetWindowAssociation(
      |                               ^~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:86:31: error: ‘HRESULT dxvk::DxgiFactory::GetSharedResourceAdapterLuid(HANDLE, LUID*)’ marked ‘final’, but is not virtual
   86 |     HRESULT STDMETHODCALLTYPE GetSharedResourceAdapterLuid(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:90:31: error: ‘HRESULT dxvk::DxgiFactory::MakeWindowAssociation(HWND, UINT)’ marked ‘final’, but is not virtual
   90 |     HRESULT STDMETHODCALLTYPE MakeWindowAssociation(
      |                               ^~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:94:28: error: ‘BOOL dxvk::DxgiFactory::IsCurrent()’ marked ‘final’, but is not virtual
   94 |     BOOL STDMETHODCALLTYPE IsCurrent() final;
      |                            ^~~~~~~~~
../../../src/dxgi/dxgi_factory.h:96:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterOcclusionStatusWindow(HWND, UINT, DWORD*)’ marked ‘final’, but is not virtual
   96 |     HRESULT STDMETHODCALLTYPE RegisterOcclusionStatusWindow(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:101:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterStereoStatusEvent(HANDLE, DWORD*)’ marked ‘final’, but is not virtual
  101 |     HRESULT STDMETHODCALLTYPE RegisterStereoStatusEvent(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:105:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterStereoStatusWindow(HWND, UINT, DWORD*)’ marked ‘final’, but is not virtual
  105 |     HRESULT STDMETHODCALLTYPE RegisterStereoStatusWindow(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:110:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterOcclusionStatusEvent(HANDLE, DWORD*)’ marked ‘final’, but is not virtual
  110 |     HRESULT STDMETHODCALLTYPE RegisterOcclusionStatusEvent(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:114:28: error: ‘void dxvk::DxgiFactory::UnregisterStereoStatus(DWORD)’ marked ‘final’, but is not virtual
  114 |     void STDMETHODCALLTYPE UnregisterStereoStatus(
      |                            ^~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:117:28: error: ‘void dxvk::DxgiFactory::UnregisterOcclusionStatus(DWORD)’ marked ‘final’, but is not virtual
  117 |     void STDMETHODCALLTYPE UnregisterOcclusionStatus(
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:120:28: error: ‘UINT dxvk::DxgiFactory::GetCreationFlags()’ marked ‘final’, but is not virtual
  120 |     UINT STDMETHODCALLTYPE GetCreationFlags() final;
      |                            ^~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:122:31: error: ‘HRESULT dxvk::DxgiFactory::CheckFeatureSupport(DXGI_FEATURE, void*, UINT)’ marked ‘final’, but is not virtual
  122 |     HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
      |                               ^~~~~~~~~~~~~~~~~~~
In file included from ../../../src/dxgi/dxgi_include.h:14,
                 from ../../../src/dxgi/dxgi_format.h:3,
                 from ../../../src/dxgi/dxgi_adapter.h:6,
                 from ../../../src/dxgi/dxgi_adapter.cpp:6:
../../../src/dxgi/../util/com/com_pointer.h: In instantiation of ‘static void dxvk::ComRef_<T, Public>::incRef(T*) [with T = dxvk::DxgiFactory; bool Public = true]’:
../../../src/dxgi/../util/com/com_pointer.h:136:23:   required from ‘void dxvk::Com<T, Public>::incRef() const [with T = dxvk::DxgiFactory; bool Public = true]’
../../../src/dxgi/../util/com/com_pointer.h:57:13:   required from ‘dxvk::Com<T, Public>::Com(T*) [with T = dxvk::DxgiFactory; bool Public = true]’
../../../src/dxgi/dxgi_adapter.cpp:63:21:   required from here
../../../src/dxgi/../util/com/com_pointer.h:27:39: error: ‘class dxvk::DxgiFactory’ has no member named ‘AddRef’
   27 |     static void incRef(T* ptr) { ptr->AddRef(); }
      |                                  ~~~~~^~~~~~
../../../src/dxgi/../util/com/com_pointer.h: In instantiation of ‘static void dxvk::ComRef_<T, Public>::decRef(T*) [with T = dxvk::DxgiFactory; bool Public = true]’:
../../../src/dxgi/../util/com/com_pointer.h:141:23:   required from ‘void dxvk::Com<T, Public>::decRef() const [with T = dxvk::DxgiFactory; bool Public = true]’
../../../src/dxgi/../util/com/com_pointer.h:98:13:   required from ‘dxvk::Com<T, Public>::~Com() [with T = dxvk::DxgiFactory; bool Public = true]’
../../../src/dxgi/dxgi_adapter.cpp:63:21:   required from here
../../../src/dxgi/../util/com/com_pointer.h:28:39: error: ‘class dxvk::DxgiFactory’ has no member named ‘Release’
   28 |     static void decRef(T* ptr) { ptr->Release(); }
      |                                  ~~~~~^~~~~~~
[139/268] Compiling C++ object src/dxgi/dxgi.dll.p/dxgi_factory.cpp.obj
FAILED: src/dxgi/dxgi.dll.p/dxgi_factory.cpp.obj 
x86_64-w64-mingw32-g++ -Isrc/dxgi/dxgi.dll.p -Isrc/dxgi -I../../../src/dxgi -I../../../include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -MD -MQ src/dxgi/dxgi.dll.p/dxgi_factory.cpp.obj -MF src/dxgi/dxgi.dll.p/dxgi_factory.cpp.obj.d -o src/dxgi/dxgi.dll.p/dxgi_factory.cpp.obj -c ../../../src/dxgi/dxgi_factory.cpp
In file included from ../../../src/dxgi/dxgi_factory.cpp:1:
../../../src/dxgi/dxgi_factory.h:13:41: error: ‘IDXGIFactory7’ was not declared in this scope; did you mean ‘IDXGIFactory1’?
   13 |   class DxgiFactory : public DxgiObject<IDXGIFactory7> {
      |                                         ^~~~~~~~~~~~~
      |                                         IDXGIFactory1
../../../src/dxgi/dxgi_factory.h:13:54: error: template argument 1 is invalid
   13 |   class DxgiFactory : public DxgiObject<IDXGIFactory7> {
      |                                                      ^
../../../src/dxgi/dxgi_factory.h:75:13: error: ‘DXGI_GPU_PREFERENCE’ has not been declared
   75 |             DXGI_GPU_PREFERENCE   GpuPreference,
      |             ^~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:20:31: error: ‘HRESULT dxvk::DxgiFactory::QueryInterface(const IID&, void**)’ marked ‘final’, but is not virtual
   20 |     HRESULT STDMETHODCALLTYPE QueryInterface(
      |                               ^~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:24:31: error: ‘HRESULT dxvk::DxgiFactory::GetParent(const IID&, void**)’ marked ‘final’, but is not virtual
   24 |     HRESULT STDMETHODCALLTYPE GetParent(
      |                               ^~~~~~~~~
../../../src/dxgi/dxgi_factory.h:28:28: error: ‘BOOL dxvk::DxgiFactory::IsWindowedStereoEnabled()’ marked ‘final’, but is not virtual
   28 |     BOOL STDMETHODCALLTYPE IsWindowedStereoEnabled() final;
      |                            ^~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:30:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSoftwareAdapter(HMODULE, IDXGIAdapter**)’ marked ‘final’, but is not virtual
   30 |     HRESULT STDMETHODCALLTYPE CreateSoftwareAdapter(
      |                               ^~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:34:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChain(IUnknown*, DXGI_SWAP_CHAIN_DESC*, IDXGISwapChain**)’ marked ‘final’, but is not virtual
   34 |     HRESULT STDMETHODCALLTYPE CreateSwapChain(
      |                               ^~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:39:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChainForHwnd(IUnknown*, HWND, const DXGI_SWAP_CHAIN_DESC1*, const DXGI_SWAP_CHAIN_FULLSCREEN_DESC*, IDXGIOutput*, IDXGISwapChain1**)’ marked ‘final’, but is not virtual
   39 |     HRESULT STDMETHODCALLTYPE CreateSwapChainForHwnd(
      |                               ^~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:47:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChainForCoreWindow(IUnknown*, IUnknown*, const DXGI_SWAP_CHAIN_DESC1*, IDXGIOutput*, IDXGISwapChain1**)’ marked ‘final’, but is not virtual
   47 |     HRESULT STDMETHODCALLTYPE CreateSwapChainForCoreWindow(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:54:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChainForComposition(IUnknown*, const DXGI_SWAP_CHAIN_DESC1*, IDXGIOutput*, IDXGISwapChain1**)’ marked ‘final’, but is not virtual
   54 |     HRESULT STDMETHODCALLTYPE CreateSwapChainForComposition(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:60:31: error: ‘HRESULT dxvk::DxgiFactory::EnumAdapters(UINT, IDXGIAdapter**)’ marked ‘final’, but is not virtual
   60 |     HRESULT STDMETHODCALLTYPE EnumAdapters(
      |                               ^~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:64:31: error: ‘HRESULT dxvk::DxgiFactory::EnumAdapters1(UINT, IDXGIAdapter1**)’ marked ‘final’, but is not virtual
   64 |     HRESULT STDMETHODCALLTYPE EnumAdapters1(
      |                               ^~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:68:31: error: ‘HRESULT dxvk::DxgiFactory::EnumAdapterByLuid(LUID, const IID&, void**)’ marked ‘final’, but is not virtual
   68 |     HRESULT STDMETHODCALLTYPE EnumAdapterByLuid(
      |                               ^~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:79:31: error: ‘HRESULT dxvk::DxgiFactory::EnumWarpAdapter(const IID&, void**)’ marked ‘final’, but is not virtual
   79 |     HRESULT STDMETHODCALLTYPE EnumWarpAdapter(
      |                               ^~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:83:31: error: ‘HRESULT dxvk::DxgiFactory::GetWindowAssociation(HWND__**)’ marked ‘final’, but is not virtual
   83 |     HRESULT STDMETHODCALLTYPE GetWindowAssociation(
      |                               ^~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:86:31: error: ‘HRESULT dxvk::DxgiFactory::GetSharedResourceAdapterLuid(HANDLE, LUID*)’ marked ‘final’, but is not virtual
   86 |     HRESULT STDMETHODCALLTYPE GetSharedResourceAdapterLuid(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:90:31: error: ‘HRESULT dxvk::DxgiFactory::MakeWindowAssociation(HWND, UINT)’ marked ‘final’, but is not virtual
   90 |     HRESULT STDMETHODCALLTYPE MakeWindowAssociation(
      |                               ^~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:94:28: error: ‘BOOL dxvk::DxgiFactory::IsCurrent()’ marked ‘final’, but is not virtual
   94 |     BOOL STDMETHODCALLTYPE IsCurrent() final;
      |                            ^~~~~~~~~
../../../src/dxgi/dxgi_factory.h:96:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterOcclusionStatusWindow(HWND, UINT, DWORD*)’ marked ‘final’, but is not virtual
   96 |     HRESULT STDMETHODCALLTYPE RegisterOcclusionStatusWindow(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:101:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterStereoStatusEvent(HANDLE, DWORD*)’ marked ‘final’, but is not virtual
  101 |     HRESULT STDMETHODCALLTYPE RegisterStereoStatusEvent(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:105:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterStereoStatusWindow(HWND, UINT, DWORD*)’ marked ‘final’, but is not virtual
  105 |     HRESULT STDMETHODCALLTYPE RegisterStereoStatusWindow(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:110:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterOcclusionStatusEvent(HANDLE, DWORD*)’ marked ‘final’, but is not virtual
  110 |     HRESULT STDMETHODCALLTYPE RegisterOcclusionStatusEvent(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:114:28: error: ‘void dxvk::DxgiFactory::UnregisterStereoStatus(DWORD)’ marked ‘final’, but is not virtual
  114 |     void STDMETHODCALLTYPE UnregisterStereoStatus(
      |                            ^~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:117:28: error: ‘void dxvk::DxgiFactory::UnregisterOcclusionStatus(DWORD)’ marked ‘final’, but is not virtual
  117 |     void STDMETHODCALLTYPE UnregisterOcclusionStatus(
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:120:28: error: ‘UINT dxvk::DxgiFactory::GetCreationFlags()’ marked ‘final’, but is not virtual
  120 |     UINT STDMETHODCALLTYPE GetCreationFlags() final;
      |                            ^~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:122:31: error: ‘HRESULT dxvk::DxgiFactory::CheckFeatureSupport(DXGI_FEATURE, void*, UINT)’ marked ‘final’, but is not virtual
  122 |     HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
      |                               ^~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.cpp: In constructor ‘dxvk::DxgiFactory::DxgiFactory(UINT)’:
../../../src/dxgi/dxgi_factory.cpp:10:25: error: no matching function for call to ‘dxvk::DxgiMonitorInfo::DxgiMonitorInfo(dxvk::DxgiFactory*)’
   10 |     m_flags       (Flags) {
      |                         ^
In file included from ../../../src/dxgi/dxgi_output.h:3,
                 from ../../../src/dxgi/dxgi_adapter.h:8,
                 from ../../../src/dxgi/dxgi_factory.h:5,
                 from ../../../src/dxgi/dxgi_factory.cpp:1:
../../../src/dxgi/dxgi_monitor.h:16:5: note: candidate: ‘dxvk::DxgiMonitorInfo::DxgiMonitorInfo(IUnknown*)’
   16 |     DxgiMonitorInfo(IUnknown* pParent);
      |     ^~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_monitor.h:16:31: note:   no known conversion for argument 1 from ‘dxvk::DxgiFactory*’ to ‘IUnknown*’
   16 |     DxgiMonitorInfo(IUnknown* pParent);
      |                     ~~~~~~~~~~^~~~~~~
In file included from /usr/share/mingw-w64/include/corecrt.h:10,
                 from /usr/share/mingw-w64/include/crtdefs.h:10,
                 from /usr/share/mingw-w64/include/stddef.h:7,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/stddef.h:1,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/cxxabi_init_exception.h:38,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/exception_ptr.h:38,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/exception:143,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/new:40,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/ext/new_allocator.h:33,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/x86_64-w64-mingw32/bits/c++allocator.h:33,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/allocator.h:46,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/vector:64,
                 from ../../../src/dxgi/dxgi_factory.h:3,
                 from ../../../src/dxgi/dxgi_factory.cpp:1:
../../../src/dxgi/dxgi_factory.cpp: In member function ‘HRESULT dxvk::DxgiFactory::QueryInterface(const IID&, void**)’:
../../../src/dxgi/dxgi_factory.cpp:35:26: error: ‘IDXGIFactory6’ was not declared in this scope; did you mean ‘IDXGIFactory1’?
   35 |      || riid == __uuidof(IDXGIFactory6)
      |                          ^~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.cpp:35:17: error: no matching function for call to ‘__mingw_uuidof<<expression error> >()’
   35 |      || riid == __uuidof(IDXGIFactory6)
      |                 ^~~~~~~~
In file included from /usr/share/mingw-w64/include/winnt.h:635,
                 from /usr/share/mingw-w64/include/minwindef.h:163,
                 from /usr/share/mingw-w64/include/windef.h:8,
                 from /usr/share/mingw-w64/include/windows.h:69,
                 from ../../../src/dxgi/../util/com/com_include.h:10,
                 from ../../../src/dxgi/../util/com/com_guid.h:6,
                 from ../../../src/dxgi/dxgi_include.h:12,
                 from ../../../src/dxgi/dxgi_format.h:3,
                 from ../../../src/dxgi/dxgi_adapter.h:6,
                 from ../../../src/dxgi/dxgi_factory.h:5,
                 from ../../../src/dxgi/dxgi_factory.cpp:1:
/usr/share/mingw-w64/include/guiddef.h:32:58: note: candidate: ‘template<class T> constexpr const GUID& __mingw_uuidof()’
   32 | __extension__ template<typename T> constexpr const GUID &__mingw_uuidof();
      |                                                          ^~~~~~~~~~~~~~
/usr/share/mingw-w64/include/guiddef.h:32:58: note:   template argument deduction/substitution failed:
In file included from /usr/share/mingw-w64/include/corecrt.h:10,
                 from /usr/share/mingw-w64/include/crtdefs.h:10,
                 from /usr/share/mingw-w64/include/stddef.h:7,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/stddef.h:1,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/cxxabi_init_exception.h:38,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/exception_ptr.h:38,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/exception:143,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/new:40,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/ext/new_allocator.h:33,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/x86_64-w64-mingw32/bits/c++allocator.h:33,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/allocator.h:46,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/vector:64,
                 from ../../../src/dxgi/dxgi_factory.h:3,
                 from ../../../src/dxgi/dxgi_factory.cpp:1:
../../../src/dxgi/dxgi_factory.cpp:35:17: error: template argument 1 is invalid
   35 |      || riid == __uuidof(IDXGIFactory6)
      |                 ^~~~~~~~
../../../src/dxgi/dxgi_factory.cpp:36:26: error: ‘IDXGIFactory7’ was not declared in this scope; did you mean ‘IDXGIFactory1’?
   36 |      || riid == __uuidof(IDXGIFactory7)) {
      |                          ^~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.cpp:36:17: error: no matching function for call to ‘__mingw_uuidof<<expression error> >()’
   36 |      || riid == __uuidof(IDXGIFactory7)) {
      |                 ^~~~~~~~
In file included from /usr/share/mingw-w64/include/winnt.h:635,
                 from /usr/share/mingw-w64/include/minwindef.h:163,
                 from /usr/share/mingw-w64/include/windef.h:8,
                 from /usr/share/mingw-w64/include/windows.h:69,
                 from ../../../src/dxgi/../util/com/com_include.h:10,
                 from ../../../src/dxgi/../util/com/com_guid.h:6,
                 from ../../../src/dxgi/dxgi_include.h:12,
                 from ../../../src/dxgi/dxgi_format.h:3,
                 from ../../../src/dxgi/dxgi_adapter.h:6,
                 from ../../../src/dxgi/dxgi_factory.h:5,
                 from ../../../src/dxgi/dxgi_factory.cpp:1:
/usr/share/mingw-w64/include/guiddef.h:32:58: note: candidate: ‘template<class T> constexpr const GUID& __mingw_uuidof()’
   32 | __extension__ template<typename T> constexpr const GUID &__mingw_uuidof();
      |                                                          ^~~~~~~~~~~~~~
/usr/share/mingw-w64/include/guiddef.h:32:58: note:   template argument deduction/substitution failed:
In file included from /usr/share/mingw-w64/include/corecrt.h:10,
                 from /usr/share/mingw-w64/include/crtdefs.h:10,
                 from /usr/share/mingw-w64/include/stddef.h:7,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/stddef.h:1,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/cxxabi_init_exception.h:38,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/exception_ptr.h:38,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/exception:143,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/new:40,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/ext/new_allocator.h:33,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/x86_64-w64-mingw32/bits/c++allocator.h:33,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/bits/allocator.h:46,
                 from /usr/lib/gcc/x86_64-w64-mingw32/9.3-posix/include/c++/vector:64,
                 from ../../../src/dxgi/dxgi_factory.h:3,
                 from ../../../src/dxgi/dxgi_factory.cpp:1:
../../../src/dxgi/dxgi_factory.cpp:36:17: error: template argument 1 is invalid
   36 |      || riid == __uuidof(IDXGIFactory7)) {
      |                 ^~~~~~~~
../../../src/dxgi/dxgi_factory.cpp: In member function ‘HRESULT dxvk::DxgiFactory::CreateSwapChainForHwnd(IUnknown*, HWND, const DXGI_SWAP_CHAIN_DESC1*, const DXGI_SWAP_CHAIN_FULLSCREEN_DESC*, IDXGIOutput*, IDXGISwapChain1**)’:
../../../src/dxgi/dxgi_factory.cpp:135:39: error: cannot convert ‘dxvk::DxgiFactory*’ to ‘IDXGIFactory*’
  135 |         pRestrictToOutput, ppSwapChain);
      |                                       ^
In file included from ../../../src/dxgi/dxgi_adapter.h:7,
                 from ../../../src/dxgi/dxgi_factory.h:5,
                 from ../../../src/dxgi/dxgi_factory.cpp:1:
../../../src/dxgi/dxgi_interfaces.h:345:37: note:   initializing argument 1 of ‘virtual HRESULT IWineDXGISwapChainFactory::CreateSwapChainForHwnd(IDXGIFactory*, HWND, const DXGI_SWAP_CHAIN_DESC1*, const DXGI_SWAP_CHAIN_FULLSCREEN_DESC*, IDXGIOutput*, IDXGISwapChain1**)’
  345 |             IDXGIFactory*           pFactory,
      |             ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
../../../src/dxgi/dxgi_factory.cpp: At global scope:
../../../src/dxgi/dxgi_factory.cpp:230:11: error: ‘DXGI_GPU_PREFERENCE’ has not been declared
  230 |           DXGI_GPU_PREFERENCE   GpuPreference,
      |           ^~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.cpp: In member function ‘HRESULT dxvk::DxgiFactory::EnumAdapterByGpuPreference(UINT, int, const IID&, void**)’:
../../../src/dxgi/dxgi_factory.cpp:242:26: error: ‘DXGI_GPU_PREFERENCE_MINIMUM_POWER’ was not declared in this scope
  242 |     if (GpuPreference == DXGI_GPU_PREFERENCE_MINIMUM_POWER)
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../src/dxgi/dxgi_include.h:14,
                 from ../../../src/dxgi/dxgi_format.h:3,
                 from ../../../src/dxgi/dxgi_adapter.h:6,
                 from ../../../src/dxgi/dxgi_factory.h:5,
                 from ../../../src/dxgi/dxgi_factory.cpp:1:
../../../src/dxgi/../util/com/com_pointer.h: In instantiation of ‘T* dxvk::ref(T*) [with T = dxvk::DxgiFactory]’:
../../../src/dxgi/dxgi_factory.cpp:37:28:   required from here
../../../src/dxgi/../util/com/com_pointer.h:17:15: error: ‘class dxvk::DxgiFactory’ has no member named ‘AddRef’
   17 |       object->AddRef();
      |       ~~~~~~~~^~~~~~
[140/268] Compiling C++ object src/dxgi/dxgi.dll.p/dxgi_main.cpp.obj
FAILED: src/dxgi/dxgi.dll.p/dxgi_main.cpp.obj 
x86_64-w64-mingw32-g++ -Isrc/dxgi/dxgi.dll.p -Isrc/dxgi -I../../../src/dxgi -I../../../include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -MD -MQ src/dxgi/dxgi.dll.p/dxgi_main.cpp.obj -MF src/dxgi/dxgi.dll.p/dxgi_main.cpp.obj.d -o src/dxgi/dxgi.dll.p/dxgi_main.cpp.obj -c ../../../src/dxgi/dxgi_main.cpp
In file included from ../../../src/dxgi/dxgi_main.cpp:1:
../../../src/dxgi/dxgi_factory.h:13:41: error: ‘IDXGIFactory7’ was not declared in this scope; did you mean ‘IDXGIFactory1’?
   13 |   class DxgiFactory : public DxgiObject<IDXGIFactory7> {
      |                                         ^~~~~~~~~~~~~
      |                                         IDXGIFactory1
../../../src/dxgi/dxgi_factory.h:13:54: error: template argument 1 is invalid
   13 |   class DxgiFactory : public DxgiObject<IDXGIFactory7> {
      |                                                      ^
../../../src/dxgi/dxgi_factory.h:75:13: error: ‘DXGI_GPU_PREFERENCE’ has not been declared
   75 |             DXGI_GPU_PREFERENCE   GpuPreference,
      |             ^~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:20:31: error: ‘HRESULT dxvk::DxgiFactory::QueryInterface(const IID&, void**)’ marked ‘final’, but is not virtual
   20 |     HRESULT STDMETHODCALLTYPE QueryInterface(
      |                               ^~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:24:31: error: ‘HRESULT dxvk::DxgiFactory::GetParent(const IID&, void**)’ marked ‘final’, but is not virtual
   24 |     HRESULT STDMETHODCALLTYPE GetParent(
      |                               ^~~~~~~~~
../../../src/dxgi/dxgi_factory.h:28:28: error: ‘BOOL dxvk::DxgiFactory::IsWindowedStereoEnabled()’ marked ‘final’, but is not virtual
   28 |     BOOL STDMETHODCALLTYPE IsWindowedStereoEnabled() final;
      |                            ^~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:30:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSoftwareAdapter(HMODULE, IDXGIAdapter**)’ marked ‘final’, but is not virtual
   30 |     HRESULT STDMETHODCALLTYPE CreateSoftwareAdapter(
      |                               ^~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:34:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChain(IUnknown*, DXGI_SWAP_CHAIN_DESC*, IDXGISwapChain**)’ marked ‘final’, but is not virtual
   34 |     HRESULT STDMETHODCALLTYPE CreateSwapChain(
      |                               ^~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:39:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChainForHwnd(IUnknown*, HWND, const DXGI_SWAP_CHAIN_DESC1*, const DXGI_SWAP_CHAIN_FULLSCREEN_DESC*, IDXGIOutput*, IDXGISwapChain1**)’ marked ‘final’, but is not virtual
   39 |     HRESULT STDMETHODCALLTYPE CreateSwapChainForHwnd(
      |                               ^~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:47:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChainForCoreWindow(IUnknown*, IUnknown*, const DXGI_SWAP_CHAIN_DESC1*, IDXGIOutput*, IDXGISwapChain1**)’ marked ‘final’, but is not virtual
   47 |     HRESULT STDMETHODCALLTYPE CreateSwapChainForCoreWindow(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:54:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChainForComposition(IUnknown*, const DXGI_SWAP_CHAIN_DESC1*, IDXGIOutput*, IDXGISwapChain1**)’ marked ‘final’, but is not virtual
   54 |     HRESULT STDMETHODCALLTYPE CreateSwapChainForComposition(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:60:31: error: ‘HRESULT dxvk::DxgiFactory::EnumAdapters(UINT, IDXGIAdapter**)’ marked ‘final’, but is not virtual
   60 |     HRESULT STDMETHODCALLTYPE EnumAdapters(
      |                               ^~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:64:31: error: ‘HRESULT dxvk::DxgiFactory::EnumAdapters1(UINT, IDXGIAdapter1**)’ marked ‘final’, but is not virtual
   64 |     HRESULT STDMETHODCALLTYPE EnumAdapters1(
      |                               ^~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:68:31: error: ‘HRESULT dxvk::DxgiFactory::EnumAdapterByLuid(LUID, const IID&, void**)’ marked ‘final’, but is not virtual
   68 |     HRESULT STDMETHODCALLTYPE EnumAdapterByLuid(
      |                               ^~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:79:31: error: ‘HRESULT dxvk::DxgiFactory::EnumWarpAdapter(const IID&, void**)’ marked ‘final’, but is not virtual
   79 |     HRESULT STDMETHODCALLTYPE EnumWarpAdapter(
      |                               ^~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:83:31: error: ‘HRESULT dxvk::DxgiFactory::GetWindowAssociation(HWND__**)’ marked ‘final’, but is not virtual
   83 |     HRESULT STDMETHODCALLTYPE GetWindowAssociation(
      |                               ^~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:86:31: error: ‘HRESULT dxvk::DxgiFactory::GetSharedResourceAdapterLuid(HANDLE, LUID*)’ marked ‘final’, but is not virtual
   86 |     HRESULT STDMETHODCALLTYPE GetSharedResourceAdapterLuid(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:90:31: error: ‘HRESULT dxvk::DxgiFactory::MakeWindowAssociation(HWND, UINT)’ marked ‘final’, but is not virtual
   90 |     HRESULT STDMETHODCALLTYPE MakeWindowAssociation(
      |                               ^~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:94:28: error: ‘BOOL dxvk::DxgiFactory::IsCurrent()’ marked ‘final’, but is not virtual
   94 |     BOOL STDMETHODCALLTYPE IsCurrent() final;
      |                            ^~~~~~~~~
../../../src/dxgi/dxgi_factory.h:96:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterOcclusionStatusWindow(HWND, UINT, DWORD*)’ marked ‘final’, but is not virtual
   96 |     HRESULT STDMETHODCALLTYPE RegisterOcclusionStatusWindow(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:101:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterStereoStatusEvent(HANDLE, DWORD*)’ marked ‘final’, but is not virtual
  101 |     HRESULT STDMETHODCALLTYPE RegisterStereoStatusEvent(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:105:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterStereoStatusWindow(HWND, UINT, DWORD*)’ marked ‘final’, but is not virtual
  105 |     HRESULT STDMETHODCALLTYPE RegisterStereoStatusWindow(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:110:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterOcclusionStatusEvent(HANDLE, DWORD*)’ marked ‘final’, but is not virtual
  110 |     HRESULT STDMETHODCALLTYPE RegisterOcclusionStatusEvent(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:114:28: error: ‘void dxvk::DxgiFactory::UnregisterStereoStatus(DWORD)’ marked ‘final’, but is not virtual
  114 |     void STDMETHODCALLTYPE UnregisterStereoStatus(
      |                            ^~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:117:28: error: ‘void dxvk::DxgiFactory::UnregisterOcclusionStatus(DWORD)’ marked ‘final’, but is not virtual
  117 |     void STDMETHODCALLTYPE UnregisterOcclusionStatus(
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:120:28: error: ‘UINT dxvk::DxgiFactory::GetCreationFlags()’ marked ‘final’, but is not virtual
  120 |     UINT STDMETHODCALLTYPE GetCreationFlags() final;
      |                            ^~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:122:31: error: ‘HRESULT dxvk::DxgiFactory::CheckFeatureSupport(DXGI_FEATURE, void*, UINT)’ marked ‘final’, but is not virtual
  122 |     HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
      |                               ^~~~~~~~~~~~~~~~~~~
In file included from ../../../src/dxgi/dxgi_include.h:14,
                 from ../../../src/dxgi/dxgi_format.h:3,
                 from ../../../src/dxgi/dxgi_adapter.h:6,
                 from ../../../src/dxgi/dxgi_factory.h:5,
                 from ../../../src/dxgi/dxgi_main.cpp:1:
../../../src/dxgi/../util/com/com_pointer.h: In instantiation of ‘static void dxvk::ComRef_<T, Public>::incRef(T*) [with T = dxvk::DxgiFactory; bool Public = true]’:
../../../src/dxgi/../util/com/com_pointer.h:136:23:   required from ‘void dxvk::Com<T, Public>::incRef() const [with T = dxvk::DxgiFactory; bool Public = true]’
../../../src/dxgi/../util/com/com_pointer.h:57:13:   required from ‘dxvk::Com<T, Public>::Com(T*) [with T = dxvk::DxgiFactory; bool Public = true]’
../../../src/dxgi/dxgi_main.cpp:10:55:   required from here
../../../src/dxgi/../util/com/com_pointer.h:27:39: error: ‘class dxvk::DxgiFactory’ has no member named ‘AddRef’
   27 |     static void incRef(T* ptr) { ptr->AddRef(); }
      |                                  ~~~~~^~~~~~
../../../src/dxgi/../util/com/com_pointer.h: In instantiation of ‘static void dxvk::ComRef_<T, Public>::decRef(T*) [with T = dxvk::DxgiFactory; bool Public = true]’:
../../../src/dxgi/../util/com/com_pointer.h:141:23:   required from ‘void dxvk::Com<T, Public>::decRef() const [with T = dxvk::DxgiFactory; bool Public = true]’
../../../src/dxgi/../util/com/com_pointer.h:98:13:   required from ‘dxvk::Com<T, Public>::~Com() [with T = dxvk::DxgiFactory; bool Public = true]’
../../../src/dxgi/dxgi_main.cpp:10:55:   required from here
../../../src/dxgi/../util/com/com_pointer.h:28:39: error: ‘class dxvk::DxgiFactory’ has no member named ‘Release’
   28 |     static void decRef(T* ptr) { ptr->Release(); }
      |                                  ~~~~~^~~~~~~
[142/268] Compiling C++ object src/dxgi/dxgi.dll.p/dxgi_output.cpp.obj
FAILED: src/dxgi/dxgi.dll.p/dxgi_output.cpp.obj 
x86_64-w64-mingw32-g++ -Isrc/dxgi/dxgi.dll.p -Isrc/dxgi -I../../../src/dxgi -I../../../include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -MD -MQ src/dxgi/dxgi.dll.p/dxgi_output.cpp.obj -MF src/dxgi/dxgi.dll.p/dxgi_output.cpp.obj.d -o src/dxgi/dxgi.dll.p/dxgi_output.cpp.obj -c ../../../src/dxgi/dxgi_output.cpp
In file included from ../../../src/dxgi/dxgi_output.cpp:11:
../../../src/dxgi/dxgi_factory.h:13:41: error: ‘IDXGIFactory7’ was not declared in this scope; did you mean ‘IDXGIFactory1’?
   13 |   class DxgiFactory : public DxgiObject<IDXGIFactory7> {
      |                                         ^~~~~~~~~~~~~
      |                                         IDXGIFactory1
../../../src/dxgi/dxgi_factory.h:13:54: error: template argument 1 is invalid
   13 |   class DxgiFactory : public DxgiObject<IDXGIFactory7> {
      |                                                      ^
../../../src/dxgi/dxgi_factory.h:75:13: error: ‘DXGI_GPU_PREFERENCE’ has not been declared
   75 |             DXGI_GPU_PREFERENCE   GpuPreference,
      |             ^~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:20:31: error: ‘HRESULT dxvk::DxgiFactory::QueryInterface(const IID&, void**)’ marked ‘final’, but is not virtual
   20 |     HRESULT STDMETHODCALLTYPE QueryInterface(
      |                               ^~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:24:31: error: ‘HRESULT dxvk::DxgiFactory::GetParent(const IID&, void**)’ marked ‘final’, but is not virtual
   24 |     HRESULT STDMETHODCALLTYPE GetParent(
      |                               ^~~~~~~~~
../../../src/dxgi/dxgi_factory.h:28:28: error: ‘BOOL dxvk::DxgiFactory::IsWindowedStereoEnabled()’ marked ‘final’, but is not virtual
   28 |     BOOL STDMETHODCALLTYPE IsWindowedStereoEnabled() final;
      |                            ^~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:30:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSoftwareAdapter(HMODULE, IDXGIAdapter**)’ marked ‘final’, but is not virtual
   30 |     HRESULT STDMETHODCALLTYPE CreateSoftwareAdapter(
      |                               ^~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:34:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChain(IUnknown*, DXGI_SWAP_CHAIN_DESC*, IDXGISwapChain**)’ marked ‘final’, but is not virtual
   34 |     HRESULT STDMETHODCALLTYPE CreateSwapChain(
      |                               ^~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:39:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChainForHwnd(IUnknown*, HWND, const DXGI_SWAP_CHAIN_DESC1*, const DXGI_SWAP_CHAIN_FULLSCREEN_DESC*, IDXGIOutput*, IDXGISwapChain1**)’ marked ‘final’, but is not virtual
   39 |     HRESULT STDMETHODCALLTYPE CreateSwapChainForHwnd(
      |                               ^~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:47:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChainForCoreWindow(IUnknown*, IUnknown*, const DXGI_SWAP_CHAIN_DESC1*, IDXGIOutput*, IDXGISwapChain1**)’ marked ‘final’, but is not virtual
   47 |     HRESULT STDMETHODCALLTYPE CreateSwapChainForCoreWindow(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:54:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChainForComposition(IUnknown*, const DXGI_SWAP_CHAIN_DESC1*, IDXGIOutput*, IDXGISwapChain1**)’ marked ‘final’, but is not virtual
   54 |     HRESULT STDMETHODCALLTYPE CreateSwapChainForComposition(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:60:31: error: ‘HRESULT dxvk::DxgiFactory::EnumAdapters(UINT, IDXGIAdapter**)’ marked ‘final’, but is not virtual
   60 |     HRESULT STDMETHODCALLTYPE EnumAdapters(
      |                               ^~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:64:31: error: ‘HRESULT dxvk::DxgiFactory::EnumAdapters1(UINT, IDXGIAdapter1**)’ marked ‘final’, but is not virtual
   64 |     HRESULT STDMETHODCALLTYPE EnumAdapters1(
      |                               ^~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:68:31: error: ‘HRESULT dxvk::DxgiFactory::EnumAdapterByLuid(LUID, const IID&, void**)’ marked ‘final’, but is not virtual
   68 |     HRESULT STDMETHODCALLTYPE EnumAdapterByLuid(
      |                               ^~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:79:31: error: ‘HRESULT dxvk::DxgiFactory::EnumWarpAdapter(const IID&, void**)’ marked ‘final’, but is not virtual
   79 |     HRESULT STDMETHODCALLTYPE EnumWarpAdapter(
      |                               ^~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:83:31: error: ‘HRESULT dxvk::DxgiFactory::GetWindowAssociation(HWND__**)’ marked ‘final’, but is not virtual
   83 |     HRESULT STDMETHODCALLTYPE GetWindowAssociation(
      |                               ^~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:86:31: error: ‘HRESULT dxvk::DxgiFactory::GetSharedResourceAdapterLuid(HANDLE, LUID*)’ marked ‘final’, but is not virtual
   86 |     HRESULT STDMETHODCALLTYPE GetSharedResourceAdapterLuid(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:90:31: error: ‘HRESULT dxvk::DxgiFactory::MakeWindowAssociation(HWND, UINT)’ marked ‘final’, but is not virtual
   90 |     HRESULT STDMETHODCALLTYPE MakeWindowAssociation(
      |                               ^~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:94:28: error: ‘BOOL dxvk::DxgiFactory::IsCurrent()’ marked ‘final’, but is not virtual
   94 |     BOOL STDMETHODCALLTYPE IsCurrent() final;
      |                            ^~~~~~~~~
../../../src/dxgi/dxgi_factory.h:96:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterOcclusionStatusWindow(HWND, UINT, DWORD*)’ marked ‘final’, but is not virtual
   96 |     HRESULT STDMETHODCALLTYPE RegisterOcclusionStatusWindow(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:101:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterStereoStatusEvent(HANDLE, DWORD*)’ marked ‘final’, but is not virtual
  101 |     HRESULT STDMETHODCALLTYPE RegisterStereoStatusEvent(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:105:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterStereoStatusWindow(HWND, UINT, DWORD*)’ marked ‘final’, but is not virtual
  105 |     HRESULT STDMETHODCALLTYPE RegisterStereoStatusWindow(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:110:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterOcclusionStatusEvent(HANDLE, DWORD*)’ marked ‘final’, but is not virtual
  110 |     HRESULT STDMETHODCALLTYPE RegisterOcclusionStatusEvent(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:114:28: error: ‘void dxvk::DxgiFactory::UnregisterStereoStatus(DWORD)’ marked ‘final’, but is not virtual
  114 |     void STDMETHODCALLTYPE UnregisterStereoStatus(
      |                            ^~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:117:28: error: ‘void dxvk::DxgiFactory::UnregisterOcclusionStatus(DWORD)’ marked ‘final’, but is not virtual
  117 |     void STDMETHODCALLTYPE UnregisterOcclusionStatus(
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:120:28: error: ‘UINT dxvk::DxgiFactory::GetCreationFlags()’ marked ‘final’, but is not virtual
  120 |     UINT STDMETHODCALLTYPE GetCreationFlags() final;
      |                            ^~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:122:31: error: ‘HRESULT dxvk::DxgiFactory::CheckFeatureSupport(DXGI_FEATURE, void*, UINT)’ marked ‘final’, but is not virtual
  122 |     HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
      |                               ^~~~~~~~~~~~~~~~~~~
[144/268] Compiling C++ object src/dxgi/dxgi.dll.p/dxgi_swapchain.cpp.obj
FAILED: src/dxgi/dxgi.dll.p/dxgi_swapchain.cpp.obj 
x86_64-w64-mingw32-g++ -Isrc/dxgi/dxgi.dll.p -Isrc/dxgi -I../../../src/dxgi -I../../../include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -MD -MQ src/dxgi/dxgi.dll.p/dxgi_swapchain.cpp.obj -MF src/dxgi/dxgi.dll.p/dxgi_swapchain.cpp.obj.d -o src/dxgi/dxgi.dll.p/dxgi_swapchain.cpp.obj -c ../../../src/dxgi/dxgi_swapchain.cpp
In file included from ../../../src/dxgi/dxgi_swapchain.cpp:1:
../../../src/dxgi/dxgi_factory.h:13:41: error: ‘IDXGIFactory7’ was not declared in this scope; did you mean ‘IDXGIFactory1’?
   13 |   class DxgiFactory : public DxgiObject<IDXGIFactory7> {
      |                                         ^~~~~~~~~~~~~
      |                                         IDXGIFactory1
../../../src/dxgi/dxgi_factory.h:13:54: error: template argument 1 is invalid
   13 |   class DxgiFactory : public DxgiObject<IDXGIFactory7> {
      |                                                      ^
../../../src/dxgi/dxgi_factory.h:75:13: error: ‘DXGI_GPU_PREFERENCE’ has not been declared
   75 |             DXGI_GPU_PREFERENCE   GpuPreference,
      |             ^~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:20:31: error: ‘HRESULT dxvk::DxgiFactory::QueryInterface(const IID&, void**)’ marked ‘final’, but is not virtual
   20 |     HRESULT STDMETHODCALLTYPE QueryInterface(
      |                               ^~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:24:31: error: ‘HRESULT dxvk::DxgiFactory::GetParent(const IID&, void**)’ marked ‘final’, but is not virtual
   24 |     HRESULT STDMETHODCALLTYPE GetParent(
      |                               ^~~~~~~~~
../../../src/dxgi/dxgi_factory.h:28:28: error: ‘BOOL dxvk::DxgiFactory::IsWindowedStereoEnabled()’ marked ‘final’, but is not virtual
   28 |     BOOL STDMETHODCALLTYPE IsWindowedStereoEnabled() final;
      |                            ^~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:30:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSoftwareAdapter(HMODULE, IDXGIAdapter**)’ marked ‘final’, but is not virtual
   30 |     HRESULT STDMETHODCALLTYPE CreateSoftwareAdapter(
      |                               ^~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:34:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChain(IUnknown*, DXGI_SWAP_CHAIN_DESC*, IDXGISwapChain**)’ marked ‘final’, but is not virtual
   34 |     HRESULT STDMETHODCALLTYPE CreateSwapChain(
      |                               ^~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:39:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChainForHwnd(IUnknown*, HWND, const DXGI_SWAP_CHAIN_DESC1*, const DXGI_SWAP_CHAIN_FULLSCREEN_DESC*, IDXGIOutput*, IDXGISwapChain1**)’ marked ‘final’, but is not virtual
   39 |     HRESULT STDMETHODCALLTYPE CreateSwapChainForHwnd(
      |                               ^~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:47:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChainForCoreWindow(IUnknown*, IUnknown*, const DXGI_SWAP_CHAIN_DESC1*, IDXGIOutput*, IDXGISwapChain1**)’ marked ‘final’, but is not virtual
   47 |     HRESULT STDMETHODCALLTYPE CreateSwapChainForCoreWindow(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:54:31: error: ‘HRESULT dxvk::DxgiFactory::CreateSwapChainForComposition(IUnknown*, const DXGI_SWAP_CHAIN_DESC1*, IDXGIOutput*, IDXGISwapChain1**)’ marked ‘final’, but is not virtual
   54 |     HRESULT STDMETHODCALLTYPE CreateSwapChainForComposition(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:60:31: error: ‘HRESULT dxvk::DxgiFactory::EnumAdapters(UINT, IDXGIAdapter**)’ marked ‘final’, but is not virtual
   60 |     HRESULT STDMETHODCALLTYPE EnumAdapters(
      |                               ^~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:64:31: error: ‘HRESULT dxvk::DxgiFactory::EnumAdapters1(UINT, IDXGIAdapter1**)’ marked ‘final’, but is not virtual
   64 |     HRESULT STDMETHODCALLTYPE EnumAdapters1(
      |                               ^~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:68:31: error: ‘HRESULT dxvk::DxgiFactory::EnumAdapterByLuid(LUID, const IID&, void**)’ marked ‘final’, but is not virtual
   68 |     HRESULT STDMETHODCALLTYPE EnumAdapterByLuid(
      |                               ^~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:79:31: error: ‘HRESULT dxvk::DxgiFactory::EnumWarpAdapter(const IID&, void**)’ marked ‘final’, but is not virtual
   79 |     HRESULT STDMETHODCALLTYPE EnumWarpAdapter(
      |                               ^~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:83:31: error: ‘HRESULT dxvk::DxgiFactory::GetWindowAssociation(HWND__**)’ marked ‘final’, but is not virtual
   83 |     HRESULT STDMETHODCALLTYPE GetWindowAssociation(
      |                               ^~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:86:31: error: ‘HRESULT dxvk::DxgiFactory::GetSharedResourceAdapterLuid(HANDLE, LUID*)’ marked ‘final’, but is not virtual
   86 |     HRESULT STDMETHODCALLTYPE GetSharedResourceAdapterLuid(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:90:31: error: ‘HRESULT dxvk::DxgiFactory::MakeWindowAssociation(HWND, UINT)’ marked ‘final’, but is not virtual
   90 |     HRESULT STDMETHODCALLTYPE MakeWindowAssociation(
      |                               ^~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:94:28: error: ‘BOOL dxvk::DxgiFactory::IsCurrent()’ marked ‘final’, but is not virtual
   94 |     BOOL STDMETHODCALLTYPE IsCurrent() final;
      |                            ^~~~~~~~~
../../../src/dxgi/dxgi_factory.h:96:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterOcclusionStatusWindow(HWND, UINT, DWORD*)’ marked ‘final’, but is not virtual
   96 |     HRESULT STDMETHODCALLTYPE RegisterOcclusionStatusWindow(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:101:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterStereoStatusEvent(HANDLE, DWORD*)’ marked ‘final’, but is not virtual
  101 |     HRESULT STDMETHODCALLTYPE RegisterStereoStatusEvent(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:105:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterStereoStatusWindow(HWND, UINT, DWORD*)’ marked ‘final’, but is not virtual
  105 |     HRESULT STDMETHODCALLTYPE RegisterStereoStatusWindow(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:110:31: error: ‘HRESULT dxvk::DxgiFactory::RegisterOcclusionStatusEvent(HANDLE, DWORD*)’ marked ‘final’, but is not virtual
  110 |     HRESULT STDMETHODCALLTYPE RegisterOcclusionStatusEvent(
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:114:28: error: ‘void dxvk::DxgiFactory::UnregisterStereoStatus(DWORD)’ marked ‘final’, but is not virtual
  114 |     void STDMETHODCALLTYPE UnregisterStereoStatus(
      |                            ^~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:117:28: error: ‘void dxvk::DxgiFactory::UnregisterOcclusionStatus(DWORD)’ marked ‘final’, but is not virtual
  117 |     void STDMETHODCALLTYPE UnregisterOcclusionStatus(
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:120:28: error: ‘UINT dxvk::DxgiFactory::GetCreationFlags()’ marked ‘final’, but is not virtual
  120 |     UINT STDMETHODCALLTYPE GetCreationFlags() final;
      |                            ^~~~~~~~~~~~~~~~
../../../src/dxgi/dxgi_factory.h:122:31: error: ‘HRESULT dxvk::DxgiFactory::CheckFeatureSupport(DXGI_FEATURE, void*, UINT)’ marked ‘final’, but is not virtual
  122 |     HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
      |                               ^~~~~~~~~~~~~~~~~~~
[146/268] Compiling C++ object src/dxbc/libdxbc.a.p/dxbc_options.cpp.obj
ninja: build stopped: subcommand failed.
Mmisyltoad 2021-03-09 github

Get a newer MinGW.

DLLs