Skip to content

bugfix : c++11 on xcode #2335

Closed
Closed
@elliotwoods

Description

Hey all!

[EDIT]
It seems that we don't have c++11 support right now with on osx.
The issue primarily is that we have to use libc++ with c++11, which does not support legacy tr1 namespace symbols. To fix this bug we need to write a c++11 version which does not use tr1 namespace.

This could either involve:

  1. Writing a win/linux/mac C++11 implementation without tr1
  2. Writing a special implementation for libc++ without tr1 for osx

I think the only difference between 1 and 2 is more testing is required for 1. (i.e. the code should look identical).

[/EDIT]

In ofTypes I edited:

#if (_MSC_VER)
#include <memory>
#else
#include <tr1/memory>
// import smart pointers utils into std
namespace std {
    using std::tr1::shared_ptr;
    using std::tr1::weak_ptr;
    using std::tr1::static_pointer_cast;
    using std::tr1::dynamic_pointer_cast;
    using std::tr1::const_pointer_cast;
    using std::tr1::enable_shared_from_this;
    using std::tr1::__dynamic_cast_tag;
}
#endif

to:

#if (_MSC_VER || true) // <----basically hacked here
#include <memory>
using std::shared_ptr;
#else
#include <tr1/memory>
// import smart pointers utils into std
namespace std {
    using std::tr1::shared_ptr;
    using std::tr1::weak_ptr;
    using std::tr1::static_pointer_cast;
    using std::tr1::dynamic_pointer_cast;
    using std::tr1::const_pointer_cast;
    using std::tr1::enable_shared_from_this;
    using std::tr1::__dynamic_cast_tag;
}
#endif

now i get complaints on __dynamic_cast_tag. And ran out of google results. ideas?

/Volumes/SHARED/openFrameworks/libs/openFrameworks/types/ofTypes.h:169:36: No type named '__dynamic_cast_tag' in namespace 'std'

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions