Remove call to nonexistent member seekpos() of std::fpos in VS 2017#567
Remove call to nonexistent member seekpos() of std::fpos in VS 2017#567LarryIII wants to merge 2 commits intoopenscenegraph:masterfrom
Conversation
|
I am surprised that no other OSG users have reported this problem yet, we've done quite a few calls for testing with recent releases with active testing under Windows. What specific compilers and build tools are you using when you see this error? I am reluctant to merge a change that complicates already overly complicated workaround code, so really want to make sure it's required. |
My main machine for testing these releases is MSVC 2015. I also test 2010, 2012, and 2013, though not always against the release candidates. I do not currently build MSVC 2017 (15.8), so I wouldn't have seen this in any of my testing. |
|
I have just compiled the 3.6.2-rc2 using Visual Studio 2017 version 15.7.4 and the But it might be related to Microsoft's new deal with trying to be fully standard conformant. |
|
Visual Studio 2017 version 15.8 is a preview version,
I'm using 15.7.3 - that still compiles fine.
Laurens.
…On Wed, Jun 27, 2018 at 1:10 PM Daniel Emminizer ***@***.***> wrote:
I am surprised that no other OSG users have reported this problem yet,
we've done quite a few calls for testing with recent releases with active
testing under Windows.
My main machine for testing these releases is MSVC 2015. I also test 2010,
2012, and 2013, though not always against the release candidates. I do not
currently build MSVC 2017 (15.8), so I wouldn't have seen this in any of my
testing.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#567 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AS5Z2nKMyPF2rIxGCt5kyvvhMZQX_GOHks5uA2gegaJpZM4U5fVs>
.
|
|
Thanks for the feedback. So a preview version? Does this mean that it could be part of the next VS release like a VS 2018 or just a point release of VS2017? If this is part of a MS effort to be more standards compliant then could we just change the code to be the same as use for other platforms rather than having all these workarounds - I'm expecting to have all the old workarounds still required, but would rather avoid yet another layer of MS VS workarounds. |
|
This is a point release of 2017. Usually the preview version take about a month or two to propagate to the stable version. So this issue will become apparent for all Visual Studio 2017 users quite soon. |
|
Hi, sorry for the misunderstand about VS15.8, in fact, we are testing OSG in an upcoming VS 2017 release. So for this PR, you can consider it is a future PR that will unblock customer. |
|
@LarryIII But shouldn't the Such that the code should be written as: |
|
Thanks @bjornblissing, your suggested code looks more natural ordering, with the latest variant coming first, then the older MS variant then the fall-back. @LarryIII could you modify your changes along these lines, I can then merge the changes and gets some testing of this, then I'll make a 3.6.2-rc3. Cheers. |
|
[note: Larry & I are on the C++ team in Microsoft] This particular change is indeed a conformance change; the C++ spec does not specify a We will amend this PR with @bjornblissing's suggestion and update to 3.6.2-rc3 in |
…S 2017" This reverts commit b493561.
|
Closed this one! I have sent a new PR in: #569 |
Hello, there.
OSG failed with below error message in VS15.8:
error C2039: 'seekpos': is not a member of 'std::fpos<_Mbstatet>'
See http://eel.is/c++draft/fpos -- to get to an offset you can convert to int; now there is no seekpos member in VS15.8.
We have fixed this issue in vcpkg (microsoft/vcpkg#3753).
Thanks,
Larry