protonscr

/d3d11/../dxgi/../dxvk/../vulkan/vulkan_util.h:130:19: error: 'exchange' is not a member of 'std'

dxvkclosed
doitsujin/dxvk#2269 · opened 2021-09-02 by shoober420 · updated 2021-09-02 · 1 comments · github
Sshoober420 2021-09-02 github

Software information

Gentoo Linux / GCC 12 git master (https://github.com/gcc-mirror/gcc/commit/6e16b2123dd1cf5bab23cda0ce65223e5d55eded)

System information

Log files

builddxvk.log

I'm getting build errors when compiling DXVK that mention 'exchange' is not a member of 'std'. Here is a snippet of the errors.

[49/273] i686-w64-mingw32-g++ -Isrc/util/libutil.a.p -Isrc/util -I../dxvk-async-9999/src/util -I../dxvk-async-9999/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -D_WIN32_WINNT=0xa00 -msse -msse2 -msse3 -mfpmath=sse -march=native -O2 -pipe -w -mno-avx -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 ../dxvk-async-9999/src/util/com/com_guid.cpp
FAILED: src/util/libutil.a.p/com_com_guid.cpp.obj 
i686-w64-mingw32-g++ -Isrc/util/libutil.a.p -Isrc/util -I../dxvk-async-9999/src/util -I../dxvk-async-9999/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -D_WIN32_WINNT=0xa00 -msse -msse2 -msse3 -mfpmath=sse -march=native -O2 -pipe -w -mno-avx -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 ../dxvk-async-9999/src/util/com/com_guid.cpp
In file included from ../dxvk-async-9999/src/util/com/../../d3d11/../dxgi/../dxvk/dxvk_include.h:25,
                 from ../dxvk-async-9999/src/util/com/../../d3d11/../dxgi/dxgi_interfaces.h:3,
                 from ../dxvk-async-9999/src/util/com/../../d3d11/d3d11_interfaces.h:3,
                 from ../dxvk-async-9999/src/util/com/com_guid.cpp:3:
../dxvk-async-9999/src/util/com/../../d3d11/../dxgi/../dxvk/../vulkan/vulkan_util.h: In function 'VkImageAspectFlags dxvk::vk::getNextAspect(VkImageAspectFlags&)':
../dxvk-async-9999/src/util/com/../../d3d11/../dxgi/../dxvk/../vulkan/vulkan_util.h:130:19: error: 'exchange' is not a member of 'std'
  130 |       return std::exchange(mask, VkImageAspectFlags(0));
      |                   ^~~~~~~~
[61/273] i686-w64-mingw32-g++ -Isrc/vulkan/libvkcommon.a.p -Isrc/vulkan -I../dxvk-async-9999/src/vulkan -I../dxvk-async-9999/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -D_WIN32_WINNT=0xa00 -msse -msse2 -msse3 -mfpmath=sse -march=native -O2 -pipe -w -mno-avx -pthread -MD -MQ src/vulkan/libvkcommon.a.p/vulkan_presenter.cpp.obj -MF src/vulkan/libvkcommon.a.p/vulkan_presenter.cpp.obj.d -o src/vulkan/libvkcommon.a.p/vulkan_presenter.cpp.obj -c ../dxvk-async-9999/src/vulkan/vulkan_presenter.cpp
FAILED: src/vulkan/libvkcommon.a.p/vulkan_presenter.cpp.obj 
i686-w64-mingw32-g++ -Isrc/vulkan/libvkcommon.a.p -Isrc/vulkan -I../dxvk-async-9999/src/vulkan -I../dxvk-async-9999/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -D_WIN32_WINNT=0xa00 -msse -msse2 -msse3 -mfpmath=sse -march=native -O2 -pipe -w -mno-avx -pthread -MD -MQ src/vulkan/libvkcommon.a.p/vulkan_presenter.cpp.obj -MF src/vulkan/libvkcommon.a.p/vulkan_presenter.cpp.obj.d -o src/vulkan/libvkcommon.a.p/vulkan_presenter.cpp.obj -c ../dxvk-async-9999/src/vulkan/vulkan_presenter.cpp
In file included from ../dxvk-async-9999/src/vulkan/../dxvk/dxvk_include.h:25,
                 from ../dxvk-async-9999/src/vulkan/../dxvk/dxvk_format.h:3,
                 from ../dxvk-async-9999/src/vulkan/vulkan_presenter.cpp:3:
../dxvk-async-9999/src/vulkan/../dxvk/../vulkan/vulkan_util.h: In function 'VkImageAspectFlags dxvk::vk::getNextAspect(VkImageAspectFlags&)':
../dxvk-async-9999/src/vulkan/../dxvk/../vulkan/vulkan_util.h:130:19: error: 'exchange' is not a member of 'std'
  130 |       return std::exchange(mask, VkImageAspectFlags(0));
      |                   ^~~~~~~~
Ddoitsujin maintainer 2021-09-02 github

Should be fixed, but please use upstream DXVK rather than an unofficial patch set when reporting issues.

Nothing extracted yet.