KhronosGroup / KTX-Software

KTX (Khronos Texture) Library and Tools
Other
861 stars 225 forks source link

Compile error with MSVC and cmake on Windows #787

Closed M-Gjerde closed 10 months ago

M-Gjerde commented 11 months ago

MSVC version: 14.29.30133. Consider fixing this deprecation warning which is treated as an error in newer versions?


l : Command line warning D9025 : overriding '/W3' with '/W4'
KTX-Software\lib\basis_encode.cpp(256): error C2220: the following warning is treated as an error
KTX-Software\lib\basis_encode.cpp(256): warning C5054: operator '&': deprecated between enumerations of different types
KTX-Software\lib\basis_encode.cpp(256): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
KTX-Software\lib\basis_encode.cpp(257): warning C5054: operator '&': deprecated between enumerations of different types
KTX-Software\lib\basis_encode.cpp(257): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
KTX-Software\lib\basis_encode.cpp(258): warning C5054: operator '&': deprecated between enumerations of different types
KTX-Software\lib\basis_encode.cpp(258): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
KTX-Software\lib\basis_encode.cpp(260): warning C5054: operator '&': deprecated between enumerations of different types
KTX-Software\lib\basis_encode.cpp(260): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
KTX-Software\lib\basis_encode.cpp(325): warning C5054: operator '&': deprecated between enumerations of different types
KTX-Software\lib\basis_encode.cpp(325): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
KTX-Software\lib\basis_encode.cpp(326): warning C5054: operator '&': deprecated between enumerations of different types
KTX-Software\lib\basis_encode.cpp(326): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
KTX-Software\lib\basis_encode.cpp(327): warning C5054: operator '&': deprecated between enumerations of different types
KTX-Software\lib\basis_encode.cpp(327): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
KTX-Software\lib\basis_encode.cpp(329): warning C5054: operator '&': deprecated between enumerations of different types
KTX-Software\lib\basis_encode.cpp(329): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
ninja: build stopped: subcommand failed.
´´´
MarkCallow commented 10 months ago

MSVC version: 14.29.30133.

Is this the correct version? If so, it is very old. The earliest we support is VS2019 whose MSVC version now is 19.29.30152.0. VS2022 has version 19.35.32217.1. Our CI on both do not show this warning. As we have error on warning set, the builds would stop.

MarkCallow commented 10 months ago

Is this the correct version?

@M-Gjerde please respond. If I don't hear back within a few days I will close this. We build without warnings under MSVC 19 and ClangCL 16 in our CI and do not support MSVC 14 so I do not think there is anything for us to do.

M-Gjerde commented 10 months ago

Yes, sorry, thank you for your reply. Using a more recent MSVC version. Closed issue.