Reason for -no-stl in qt-copy configure recommendation?

Marcus Camen mcamen at mcamen.de
Mon Apr 28 21:13:20 BST 2003


> > > > Perhaps antlr and cql are not the best examples, but (at least with
> > > > antlr) you have to read the source to figure out many things.
> > > > (Further, newcomers to KDE/QT development would atleast have heard of
> > > > the STL; the learning curve is not so steep for them.) Apart from
> > > > std::vector<bool>, STL code is probably of as high a quality as QTL
> > > > for most reasonable implementations.
> > >
> > >     There is no significant learning curve for Qt.  It's *trivial* in
> > > comparison to STL.  Also, you cannot talk about "most reasonable
> > > implementations".  KDE has to work and be developed on MANY platforms,
> > > not just gcc/linux.  HP-UX, AIX, Solaris, *BSD, Tru64, IRIX, for
> > > instance. Have you used STL on all of those?  I've used it on all but
> > > Tru64.  I've also used Qt on all of those but Tru64.
> >
> > I want to stress this. The degree of support for the STL is quite
> > different on different UNIX platforms. Some features are simply not
> > implemented others are buggy.
>
>  Could you be please more specific about this? What errors do you get when
> compiling some KDE code at already uses STL (listed in one mail above, e.g.
> kdesdk/cervisia)? When I asked on kde-cvs@, from your answer
> http://lists.kde.org/?l=kde-cvs&m=105155654610177&w=2 it looked like the
> compiler has problems with KDE in general, even without STL (e.g. namespace
> problems).

I don't have the non-Linux Boxes available right now (actually our software 
people do the main work right now). I will try to gather some information in 
my office the next days. But you shouldn't be worried about this KDE 
namespace stuff. This was a compiler bug which has been fixed by SGI (see 
http://lists.kde.org/?l=kde-devel&m=102647305325536&w=2).

On IRIX some c* include files are not available (cstdlib, ctime, cassert). 
Instead you have to use the usual c pendants (stdlib.h, time.h, assert.h). 
Furthermore one has use the C++ include files which don't end with *.h 
(<fstream.h> / <fstream>, etc.). Prefixing C++ calls with std:: is another 
common compile fix.
Don't ask me why this is necessary. Is this due to compiler bugs or is this 
simply C++ standard? Who knows? I am not an C++ wizard but more an admin guy.

So the use of 'vector' in KDE is not a real problem. IMHO it's just gcc 3.2 
which doesn't seems as pedantic as other compilers. You just have to take 
care about these std::, <include> vs. <include.h> like stuff.

--
Marcus




More information about the kde-core-devel mailing list