Compilation issue with qt

Lawrence Velázquez larryv at macports.org
Wed Jun 5 16:02:04 PDT 2013


On Jun 5, 2013, at 12:03 PM, Nicolas Pavillon <nicos at macports.org> wrote:

> This error seem to appear because Qt forward-declares random_access_iterator_tag in qiterator.h in the part:
> #ifdef QT_NO_STL
> namespace std {
>     struct bidirectional_iterator_tag;
>     struct random_access_iterator_tag;
> }
> #endif
> This declaration overrides the ones in std libraries, so that the compiler does not recognise the code in grantlee as being valid, as reported in http://llvm.org/bugs/show_bug.cgi?id=13925.
> 
> The fix proposed in the link above is to patch qiterator.h, by suppressing the forward declarations, and include <iterator> instead. I tested it, and this indeed works. However, it seems rather overreaching to have to patch Qt (a huge port), in order to get kdevelop to compile. Would anyone have another idea ?

What is the QT_NO_STL macro for? Could the build explicitly undefine it?

vq


More information about the macports-dev mailing list