Derek Kivi wrote:
We are using the Interprocess library to make use of shared memory within our code. We are experiencing the following problem when building on Windows.
Some of our projects are trying to include unistd.h from workaround.hpp. It looks like this happens if BOOST_WINDOWS is not defined.
Tracing back through the header files I pieced together that BOOST_WINDOWS is not defined if BOOST_DISABLE_WIN32 is defined (win32.hpp). And BOOST_DISABLE_WIN32 gets defined if _MSC_EXTENSIONS is not defined (visualc.hpp).
From the MSDN documentation, _MSC_EXTENSIONS is not defined if the Visual C++ Language Extensions are turned off, which in fact they are for these projects.
Has anyone else seen this and is there a workaround for getting Boost Interprocess to work on Windows in cases where the Visual C++ Language Extensions are turned off?
sorry, for the really long delay. I've done some experiments and Interprocess can't be compiled without extensions because depends on Boost.DateTime which also needs them and because accesses to the windows API (and __cdecl and similar extensions are used in winapi declarations) require them. I haven't dedicated much time to this issue, but I have the impression that is not trivial to solve. Any help is appreciated.
Thanks, Derek
Regards, Ion