Page MenuHomePhabricator

Compile error in ModelFit with Visual Studio 2017 15.9.11
Open, HighPublic

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

floca created this task.May 23 2019, 5:42 PM

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?

floca added a comment.May 24 2019, 5:11 PM

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.