[interprocess] compilation error in interprocess vector

I'm trying to use interprocess' containers. I get compilation errors
when including the container header files. For example:
#include

Andrew Schweitzer
I'm trying to use interprocess' containers. I get compilation errors when including the container header files. For example:
#include
gives:
g++ -I../../include -I"/home/schweitz/work/boost/boost_1_49_0" -O3 -Wall -c -fmessage-length=0 -std=c++0x -MMD -MP -MF"EmbeddedServiceProcessor.d" -MT"EmbeddedServiceProcessor.d" -o "EmbeddedServiceProcessor.o" "../EmbeddedServiceProcessor.cpp" In file included from /home/schweitz/work/boost/boost_1_49_0/boost/container/detail/iterators.hpp:27:0, from /home/schweitz/work/boost/boost_1_49_0/boost/container/vector.hpp:38, from /home/schweitz/work/boost/boost_1_49_0/boost/interprocess/containers/vector.hpp:19, from ../EmbeddedServiceProcessor.cpp:295: /home/schweitz/work/boost/boost_1_49_0/boost/container/detail/variadic_templates_tools.hpp:44:19: error: expected nested-name-specifier before ‘add_const_reference’
and so forth. Any suggestions?
Is it possible that you're pulling in an old version of some of those files? The ones in the error backtrace look good, but it's possible that some of the underlying files are getting picked up from an older install of boost. (This is especially true as the boost/container stuff only moved out of boost/interprocess in the last release or two, IIRC). In particular, I get that error if the type after a "typename" has not been declared. In r76106, there's this change: namespace boost { namespace container { -namespace containers_detail { +namespace container_detail { So if you *are* mixing headers from different versions of boost, the namespace has changed name quite recently. (That's from 2011-12-22, so between 1.48.0 and 1.49.0) If you look at the preprocessor output with "-E" (?), it should show you which files were included. (Or use 'strace' on the g++ invocation, I suppose.) Good luck, t.
participants (2)
-
Andrew Schweitzer
-
Anthony Foiani