Boost Users :
Subject: [Boost-users] [interprocess] managed_mapped_file under cygwin
From: Bob Walters (bob.s.walters_at_[hidden])
Date: 2009-05-18 13:44:45
>From what I've read, cygwin supports mmap, and so I figured there was
a chance that boost::interprocess::managed_mapped_file was valid on
windows when compiling with cygwin.
I've built the boost libraries using cygwin with boost_1_39_0, using a
using gcc : cygwin_4.3.2 : /usr/bin/g++-4 :
Under cygwin, I have
I think you can reproduce this with a source file that just includes
I'm getting the following compile error:
g++-4 -DHAS_STDINT_H -I/cygdrive/c/workspaces/cdds_head/stldb_lib
-I/cygdrive/c/c++/boost_1_39_0 -O0 -g3 -Wall -c -fmessage-length=0
-MMD -MP -MF"database.d" -MT"database.d" -o"database.o"
(I also get this with g++)
In file included from
boost::interprocess::offset_t, size_t, const void*)':
request for member 'is_xsi' in 'map_hnd', which is of non-class type
request for member 'handle' in 'map_hnd', which is of non-class type
The above suggests that in detail/os_file_functions.hpp,
mapping_handle_t is being given the windows definition rather than the
posix definition, somehow. However, I've also noticed that if I
#include <boost/interprocess/windows_shared_memory.hpp>, I do trip the
#error caused by !defined(BOOST_INTERPROCESS_WINDOWS), so that proves
that it isn't, in which case I don't quite understand where this error
is coming from.
Any help is appreciated.
- Bob Walters
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net