Vulkan-Hpp
Vulkan-Hpp copied to clipboard
Warning during build - <ciso646> is deprecated in C++17
Ref: https://en.cppreference.com/w/cpp/header/ciso646 Log:
$ g++ -v
gcc version 15.0.0 20250105 (experimental) (GCC)
…
[5/8] Building CXX object cube/CMakeFiles/vkcubepp.dir/cube.cpp.o
In file included from /var/media/DATA/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-13.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/include/vulkan/vulkan_hpp_macros.hpp:35,
from /var/media/DATA/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-13.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/include/vulkan/vulkan.hpp:11,
from ../cube/cube.cpp:51:
/var/media/DATA/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-13.0-devel/toolchain/x86_64-libreelec-linux-gnu/include/c++/15.0.0/ciso646:46:4: warning: #warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros" [-Wcpp]
46 | # warning "<ciso646> is deprecated in C++17, use <version> to detect implementation-specific macros"
| ^~~~~~~
This looks to be a Vulkan-Hpp issue, rather than with the C++ Vulkan Header usage cube.cpp does. Moving accordingly.
@heitbaum as your link above tells us, ciso646 is removed with C++20. It doesn't tell anything about a deprecation warning.
The replacing header version is available with C++20 (https://en.cppreference.com/w/cpp/header/version)
And with C++20, Vulkan-Hpp uses that version header:
// include headers holding feature-test macros
#if 20 <= VULKAN_HPP_CPP_VERSION
# include <version>
#else
# include <ciso646>
#endif
Closing this issue, assuming it is resolved. Please re-open otherwise.