0
votes

I understand this has been asked million times but still I just couldn't found the solution.

I am using OSX 10.8, boost 1.50, xcode 4.5.1.

  • I installed boost using macports.
  • created an empty xcode project. My main.cpp contains the following code

    #include "boost/container/deque.hpp"
    int main(int argc, char *argv[])
    {
        boost::container::deque d(12, 5.5f);
        return 0;
    }

  • updated 'header search path' to point to '/opt/local/include'
  • updated 'library search path' to point to '/opt/local/lib'
  • tried changing 'c++ language dialect', 'c++ standard library' and other settings with no success at all.

when I build the project, I get error related to semantic issue in allocator_traits.hpp and deque.hpp and I have no idea why. I am afraid as I start using more boost libraries more errors will pop up.

deque.hpp (line 482 and 483)
base specifier must be a class name (ptr_alloc_t and allocator_type)

what else do I need to do to configure boost. why using boost is so complicated?

1
boost::container::deque<float> d(12, 5.5f); may be what you're looking for. - Retired Ninja
Try #include <boost/container/deque.hpp> - Matt Phillips

1 Answers

2
votes

boost::container::deque is a template class and you must specify which type do you use. In your case this is float:

boost::container::deque<float> d(12, 5.5f);

You can read more about templates here