Skip to content

Additional workaround for VS2026 (MSVC Build Tools v14.51)#498

Merged
lo-simon merged 1 commit into
sony:masterfrom
garethsb:patch-11
Jun 24, 2026
Merged

Additional workaround for VS2026 (MSVC Build Tools v14.51)#498
lo-simon merged 1 commit into
sony:masterfrom
garethsb:patch-11

Conversation

@garethsb

@garethsb garethsb commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

cpprestsdk uses std::ios_base::_Openprot which has been removed by microsoft/STL@e2ef398.

So, compiling nmos-cpp, we get:

  filesystem_route.cpp
  ...
C:\Users\runneradmin\.conan2\p\b\cppre31cf1ba1181d5\p\include\cpprest\filestream.h(1015,102): error C2039: '_Openprot': is not a member of 'std::ios_base' [D:\a\nvnmos\nvnmos\build\build-nmos-cpp\nmos-cpp.vcxproj]
  (compiling source file '../../../nmos-cpp/Development/nmos/filesystem_route.cpp')
      C:\Program Files\Microsoft Visual Studio\18\Enterprise\VC\Tools\MSVC\14.51.36231\include\xiosbase(76,53):
      see declaration of 'std::ios_base'
      C:\Users\runneradmin\.conan2\p\b\cppre31cf1ba1181d5\p\include\cpprest\filestream.h(1015,102):
      the template instantiation context (the oldest one first) is
          D:\a\nvnmos\nmos-cpp\Development\nmos\filesystem_route.cpp(103,79):
          see instantiation of default argument expression required for 'Concurrency::task<Concurrency::streams::basic_istream<uint8_t>> Concurrency::streams::file_stream<uint8_t>::open_istream(const utility::string_t &,std::ios_base::openmode,int)'
  
C:\Users\runneradmin\.conan2\p\b\cppre31cf1ba1181d5\p\include\cpprest\filestream.h(1015,102): error C2065: '_Openprot': undeclared identifier [D:\a\nvnmos\nvnmos\build\build-nmos-cpp\nmos-cpp.vcxproj]
  (compiling source file '../../../nmos-cpp/Development/nmos/filesystem_route.cpp')

That will need a patch in the cpprestsdk conan recipe, and/or a fork, because Microsoft/cpprestsdk is archived since 1 June 2026. This fix ensures nmos-cpp filesystem_route.cpp should compile from source whether or not that happens though.

The right fix would be in cpprestsdk but it's archived since 1 June 2026.
@lo-simon lo-simon merged commit 3e8847a into sony:master Jun 24, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants