You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
'_FPOSOFF' has been deprecated, error C3861: '_FPOSOFF': identifier not found #1323
std::streamoff offset = pos.operatorstd::streamoff( ) - _FPOSOFF( position );
could be change to
std::streamoff offset = 0;
Reason:
When pos.operator std::streamoff() is called, the std::streampos object pos is actually converted to the std::streamoff type to obtain its offset in the stream. And _FPOSOFF(position) is to get the offset of the fpos_t object position in the stream.
In this code, the calculate the offset of pos relative to position, but because the definition of _FPOSOFF is no longer available, and since the result of _FPOSOFF(position) is the same as pos.operator std::streamoff().
Related PR: microsoft/STL#4606 microsoft/vcpkg#38666
If you have other solotions, please ping me. I will apply it to vcpkg for this issue. :)
Activity
robertosfield commentedon May 10, 2024
I'm not the author of this particular workaround for prior issues with Win32:
#if ((defined(_YVALS) && !defined(IBMCPP)) || defined(_CPPLIB_VER)) &&
!defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
&& !defined(QNX)
...
#else
And just use the path used by all platforms:
// do the old school streampos <-> streamoff casts
inline std::streampos STREAM_POS( const OSGA_Archive::pos_type pos )
{
return std::streampos( pos );
}
inline OSGA_Archive::pos_type ARCHIVE_POS( const std::streampos & pos )
{
return OSGA_Archive::pos_type( pos );
}
openscenegraph: backport MSVC bugfix patches to Conan 1 recipe