Apparently latest C++ includes a std::byte and the way veracrypt source uses byte it now conflicts with the typedef in the veracrypt source.
InfileincludedfromCipher.cpp:17:/zooty/build/veracrypt/VeraCrypt_1.24-Update7/src/Crypto/Twofish.h:58:62:error:referenceto'byte'isambiguous58|voidtwofish_encrypt_blocks(TwofishInstance*instance,constbyte*in_blk,byte*out_blk,uint32blockCount);|^~~~Infileincludedfrom/zooty/build/veracrypt/VeraCrypt_1.24-Update7/src/Platform/PlatformBase.h:16,from/zooty/build/veracrypt/VeraCrypt_1.24-Update7/src/Platform/Platform.h:16,fromCipher.cpp:13:/usr/include/c++/11/cstddef:69:14:note:candidatesare:'enum class std::byte'69|enumclassbyte:unsignedchar{};|^~~~
Ths is gcc version 11.0.1 20210324 (Red Hat 11.0.1-0) (GCC) on fedora 34 with veracrypt 1.24 update 7 source
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I got it to build by hacking up a little perl script and running it over every source file to change "byte" to "BITE" (except Crypto/cpu.c where there is inline assembly with a .byte directive).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Apparently latest C++ includes a std::byte and the way veracrypt source uses byte it now conflicts with the typedef in the veracrypt source.
Ths is gcc version 11.0.1 20210324 (Red Hat 11.0.1-0) (GCC) on fedora 34 with veracrypt 1.24 update 7 source
I got it to build by hacking up a little perl script and running it over every source file to change "byte" to "BITE" (except Crypto/cpu.c where there is inline assembly with a .byte directive).