Page MenuHomePhabricator

Compile error in ModelFit with Visual Studio 2017 15.9.11
Closed, ResolvedPublic

Description

OS: Windows, Visual Studio 2017 15.9.11 and above
Boost: 1.68 or lower

We have a compile error caused in the boost spirit library:
C4996
'std::fpos<_Mbstatet>::seekpos': warning STL4019: The member std::fpos::seekpos() is non-Standard, and is preserved only for compatibility with workarounds for old versions of Visual C++. It will be removed in a future release, and in this release always returns 0. Please use standards-conforming mechanisms to manipulate fpos, such as conversions to and from streamoff, or an integral type, instead. If you are receiving this message while compiling Boost.IOStreams, a fix has been submitted upstream to make Boost use standards-conforming mechanisms, as it does for other compilers. You can define _SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING to acknowledge that you have received this warning, or define _REMOVE_FPOS_SEEKPOS to remove std::fpos::seekpos entirely. (Quelldatei wird kompiliert E:\mitk\src1\Modules\ModelFit\src\Common\mitkFormulaParser.cpp)

More infos how to solve that can be found here: http://boost.2283326.n4.nabble.com/Error-building-Spirit-parser-in-VS2017-td4705782.html
Or we could update boost to >1.69 ;)

Ralf

Event Timeline

I'm totally in for Boost 1.69+. The interesting question for me is, does this issue affect the 2018.04 branch as well or only the master branch?

It affects every branch that containes the ModelFit module and tries to build it with VS 2017 >=15.9.11

kislinsk triaged this task as High priority.EditedMay 28 2019, 9:51 AM

Okay, so, basically not the 2018.04 branch.

floca claimed this task.

Is resolved. Master is now upgraded to boost 1.70. :)