Tool versions and capabilities/ C++
-
A question from a long-time coder new to Qt:
Is there one place where I can see the version numbers and feature lists? Especially of the cmd-line subtools.
Since we all need this info, I'm sure you can direct me to a doc page already set up:In particular, I'd like a C++ feature list with 3 columns 1) The features Qt uses. 2) The features the Qt/mingw compiler supports. 3) features that work with my compiler but I shouldn't use, because Qt on other platforms doesn't support them.
Rows would include
A) for loops
B) templates
C) partial specialization
D) iostreams
E) exceptions
F) unicode/utf8 source and data
G) C++03
H) C++0x -
Hm... One place to take a look is the "Qt changelog":http://qt.nokia.com/developer/changes/ . However, I don't know other document with all the info you mentioned, let's see if someone knows about it :-)
-
Reliance: How about setting up your table in a wiki page and asking people to fill in any blanks?
-
Well, firstly that would depend on what other compilers you care about. For instance, I'm guessing (hoping?) that you couldn't care less about MSVC6, despite the fact that last time I checked you could still build most (no WebKit, etc.) of Qt with it.
Any ideas on that part?
-
Perhaps to start, limit it to the Tier 1 "supported platforms":http://doc.qt.nokia.com/4.7.old/supported-platforms.html.
-
Well, I can say that for the Tier 1 platforms with the exception of Symbian (which I know absolutely nothing whatsoever about), the only item on that list with any variance is C++0x, for which you get no support under VC2005, preliminary TR1 support only with VC2008 with the Feature Pack, and decent support under the GCC variants. Otherwise, it all works, with the exception of the "export" keyword (which AFAIK only the Comeau compiler ever implemented).
What did you mean by "for loops", though?
-
Oh - and VC2010 has support for most of C++0x, and apparently I was slightly mistaken: VC2008 does have a little bit of support. I have never tried, though.
More info on MSVC "in this blog post":http://blogs.msdn.com/b/vcblog/archive/2010/04/06/c-0x-core-language-features-in-vc10-the-table.aspx, though, and GCC's equivalent "on GCC's site":http://gcc.gnu.org/projects/cxx0x.html for balance.
-
I was thinking the feature list might go from simplest to most sophisticated. I'm sure all the C++ compilers support for loops:-)
But obviously, I'm really looking for compiler features that are not implemented on some compilers, so that Qt coders know to avoid them, in the interest of portability, even when using compilers that do support these features.