Recently, we updated the commit of bitcoin for MSVC RWC testing, it failed to build due to the error like below with option /c++latest, could you please help take a look? Thanks.
0bitcoin\src\fs.h(75,39): error C2039: 'u8string': is not a member of 'std' [F:\gitP\bitcoin\bitcoin\build_msvc\libbitcoin_qt\libbitcoin_qt.vcxproj]
1 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\filesystem(39,1): message : see declaration of 'std' [F:\gitP\bitcoin\bitcoin\build_msvc\libbitcoin_qt\libbitcoin_qt.vcxproj]
Expected behavior
Build successfully.
Actual behavior
0bitcoin\src\fs.h(75,39): error C2039: 'u8string': is not a member of 'std' [F:\gitP\bitcoin\bitcoin\build_msvc\libbitcoin_qt\libbitcoin_qt.vcxproj]
1 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\filesystem(39,1): message : see declaration of 'std' [F:\gitP\bitcoin\bitcoin\build_msvc\libbitcoin_qt\libbitcoin_qt.vcxproj]
To reproduce
- git clone https://github.com/bitcoin/bitcoin F:\gitP\bitcoin\bitcoin
- git -C “F:\gitP\bitcoin\bitcoin” fetch –recurse-submodules=no –force
- git -C “F:\gitP\bitcoin\bitcoin” reset –hard 43e813cab266eef42e622519836f171f6a18d426
- set CL= /std:c++latest
- cd F:\gitP\bitcoin\bitcoin\build_msvc
- py -3 msvc-autogen.py
- set CL=%CL% /D_HAS_DEPRECATED_ALLOCATOR_MEMBERS /D_SILENCE_CXX20_U8PATH_DEPRECATION_WARNING /Zc:char8_t- /D_SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING
- set the vcpkg info and run
bootstrap-vcpkg.bat
andvcpkg integrate install
, in my environment, as follows: cd F:\gitP\bitcoin\tools\vcpkg git -C “F:\gitP\bitcoin\tools\vcpkg” clean -xdf bootstrap-vcpkg.bat set path=%cd%;%path% vcpkg integrate install - switch to the directory: cd F:\gitP\bitcoin\bitcoin\build_msvc
- msbuild /m /p:Platform=x64 /p:Configuration=Release /p:PlatformToolset=v142 bitcoin.sln /t:Rebuild
System information
the commit of Bitcoin: 43e813cab266eef42e622519836f171f6a18d426
OS: Windows Server 2022 Datacenter 21H2
Detailed log: build.log