[cfe-dev] Help with compiling code with libcxx
Ashok Nalkund
ashoknn at qualcomm.com
Fri Jun 15 15:04:54 PDT 2012
Hi All,
I compiled Qt with clang + libstdc++. Now using that, I'm trying to
compile my code with clang + libc++. Now, one of the Qt headers is
looking for std::bidirectional_iterator_tag by including <iterator>.
This file does exist in libcxx/include and is picked up. However,
<iterator> defines "bidirectional_iterator_tag" as:
> _LIBCPP_BEGIN_NAMESPACE_STD
>
> struct _LIBCPP_VISIBLE bidirectional_iterator_tag : public forward_iterator_tag {};
which is translated to:
> namespace std {inline namespace __1 {
> struct __attribute__ ((__visibility__("default"))) bidirectional_iterator_tag : public forward_iterator_tag {};
after pre-processing. So, the namespaces dont seem to match and clang
compiles about incomplete type:
> include/QtCore/qtconcurrentiteratekernel.h:154:60: error: variable has incomplete type 'std::bidirectional_iterator_tag'
Any idea how to resolve this? I tried to compile Qt (4.8.2) with clang +
libc++ but ran into problems with missing <ext/atomicity.h> in libc++.
TIA,
ashok
More information about the cfe-dev
mailing list