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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants