Rant on qt5 release
I had to register to share my displeasure with qt5 release.
My little brother wanted to learn c++ and asked some advice since I've been programming professionally in a past, symbian geospatial stuff and such. I've had good experiences with qt and qt-creator, so I told him to get "Qt libraries 4.8.4 for Windows". We have a bit distance and I'm on linux and he's not, so I cant confirm, but is it so that the package does not have qt-creator in it? At least he didn't get one installed. I think he downloaded ide separately, but as he's a bit impationt, he didn't get it to work.
Then he notices new version. Downloaded that, only to fail to compile since he have no compiler since there's no minGW version available. We'll, he's have to get the visual studio for the compiler, so guess what IDE and framework he's going to use for learning now, after two consecutive fails with qt? One soul more lost. And by the way, by the quick look the getting started guide will not help...
Despite my brothers woes, I got a bit excited and thought I'd continue my old project n900 and port it to N9 the phone is at hand. Brand new qt5 and all. So I downloaded the thing only to notice, that there's seemingly no emulators and such bundled anymore, no sdk-maintenance to get them. Is it discontinued and if, why in earth? Then after a bit of searching, I found out that N9 is not supported anymore. So there's no actually sincle mobile platform supported in qt5? Well what the hell, 4.8.4 will work. No wait, source distributions for linux only? There were binaries earlier, one install and everytghing worked. Why no more? I'm not interested to fiddle with environments, I'd like to get into coding already. Well, theres qt-project, maybe it'll go fine, just a bit of waiting that's all? Well no, extra character in project file.
Sigh. I'm done.
If your brother is trying to learn c++, why bother with qt?
Notice that Nokia, the maker of the N9, didn't want much to do with Qt anymore. And they indeed do not really support their older phone models anymore (meego and symbian).
This has very little to do with qt-project.org which is, well not Nokia :)
Is it so, that qt-release with n900 and n9 support came from nokia and never from qt-project? If so then it's more reasonable, but seems regression to me anyway. I'll have to look if nokia has anything anymore downloadable.
What comes to use of qt while learning; click and play IDE would be good right? Examples and "plain c++ command line application / hello world" project have worked right away earlier. He will for sure want to try to do some gui apps a bit later. Why not? Only thing missing is integrated reference manuals for standard libraries and good book beside.
I'll need to see him and setup the environment for him. Is it really so, that there's no just single "working out of the box" download for windows, even for qt4 anymore? Or is he just missing something?
If you download the Qt 5 package you will get the Qt libraries and QtCreator. If you need Qt 4 you can download the Qt 4 libraries as well.
The MSVC compiler is not included for legal reasons, and you will have to download and install it on your own. A MinGW version of Qt 5 will be released soon as part of Qt 5.0.1.
If you are looking for Symbian or MeeGo support you will have to approach Nokia, which is no longer related to the qt.project.org. Android and iOS support will be part of Qt 5.1 resp. Qt 5.2.
Installing libraries and a compiler, and please do not get me wrong on that, is the least difficult part of learning C++ or Qt or beeing a developer.
Android/iOS support is great news, I got my hopes up when saw necessitas and now in a sense it becomes true.
There will be larger obstacles than setting up environment, but this is the dullest one. Because of legalities, it IMO would make sense to concentrate on MinGW version rather than msvc, but i guess there's more time consuming problems with MinGW.
You can still get old version of "Qt SDK 1.2.1":http://www.developer.nokia.com/info/sw.nokia.com/id/da8df288-e615-443d-be5c-00c8a72435f8/Qt_SDK.html from nokia, which includes all necessary tools. Then you can install newer versions of Qt 4.8.4 on it.
Or, get the unofficial MinGW-based package from http://qt-project.org/forums/viewthread/23002/ -- it contains the Qt libraries (I recommend either Qt 5.0.0 or Qt 4.8.4, as Qt 5.0.1 hasn't been properly released yet), Qt Creator 2.6.1, and MinGW with GCC 4.7.2
(Or wait for Qt 5.0.1, which will hopefully be released in a few weeks, which will have official MinGW support)
Qt 5.0.1 including MinGW
I thought I would also join the rant.
Qt5.0.1 for MinGW is not all that it seems. I anxiously downloaded it for the improved API and the better QtCreator 2.6.2... well, so far I have been disappointed. I too feel things are a bit worse since Qt moved to Digia.
I have been developing for 30 years and cross-platform developing for 15+ years. I feel Qt5 is in worse shape than Qt4. This could be due to the purchase by Digia (growing pains) but I am wondering why the push to MSVC first when QtCreator is designed more for the GNU/unix tool chains?
Could it be that Digia really wants everyone to purchase the API now? Is the quality we are seeing now because of this decision?
Here are the items I noticed with the Qt5.0.1 reelase:
still cannot build the Qt API w/out tons of help.
still cannot support 64-bit apps.
still cannot build an actual application and have it work.
QtCreator still locks up canceling a build.
No documentation on qmake changes for "widgets", "webkitwidgets" (I had to find them online at a StackOverflow).
@wilho... your little brother could use tdm-gcc and either codelite, code::blocks, eclipse, or netbeans for learning c/c++. If he cannot get Qt to work for him... I dare say... wxWidgets 2.9.4 is a good alternative and is far better than MFC or any of the M$ APIs though still not as nice as Qt.
Simple reason for not shipping mingw directly: Qt 5 would not build with it.
bq. Here are the items I noticed with the Qt5.0.1 reelase:
still cannot build the Qt API w/out tons of help.
I don't understand this issue.
bq. still cannot support 64-bit apps.
Do you mean that there are no 64bit windows packages for windows or what is the critique?
bq. still cannot build an actual application and have it work.
Which application? What does not work?
bq. QtCreator still locks up canceling a build.
Did you report this? I'd love to know details, so that we can fix it.
bq. No documentation on qmake changes for “widgets”, “webkitwidgets” (I had to find them online at a StackOverflow).
No comment here, I never checked. A bug report would help getting this addressed though.
Most of this sounds like the typical issues you get with x.0.0 releases. They are the first that get really widespread testing by different users with different setups and requirements after all! Even release candidates are only used by a very small part of the community, once things look good for them there is a final release... and the bugs from everybody else pour in.
Please try RC releases and report your findings!
First of all, don't get me wrong, I love Qt and will continue to use it over wx for its superior API. These are more than x.0.0 issues (the latter couple are x.0.0 issues). I was just miffed that the same issues of no 64-bit for non MSVC++ toolchains are still with the API. Along with the fact nothing runs anymore still tells me it is not ready for actual release with MinGW.
- Trying to build the API and make it work seems overly complicated and lots of research needs to be done to handle make sure all is OK. Thus, being in a research environment, I wait for the binary releases to be sure all is good in the world.
- Where are the Qt 64-bit libraries for MinGW? Surely w/i686-w64-mingw32 you have this ability. Or you could use tdm-gcc which compiles 64bit windows and other apps w/out issue.
- Goto <qt install root>\5.0.1\mingw47_32\examples and build any of them on win7. None of the examples work for the desktop. That is a pretty startling failure since they all compile. It could be a QtCreator issue, but since the error message is pretty cryptic (see rant) and there is no help about this at all, there is no way to know.
- This is not a 100% failure. But I can get QtCreator to lock-up on win7 by going to Build->Cancel Build
- I stand corrected on this as I found something yesterday on Qt wiki about this. It is not as transparent as I would have liked. For instance... what is the "gui" tag for in qmake if "widgets" is now going to be used. Wouldn't also "webkit" and "gui" or "widgets" imply "webkitwidgets"? Are there any non-webkit pieces that will not be included? If "gui" is needed for things like QRect*, QSize*, QPoint*, QVector?D, QMatrix*, QTransform then maybe they should be moved to core since they really are utilitarian classes and not just for graphics or window manipulation.
I did try the RC release, only MSVC though. No use to me at this point. Once I am happy with windows, I will typically bring into a *nix environment.
I also think the context help built into QtCreator was bringing up the wrong topics. As I ported QHeaderView usage in my program, setResizeMode was not available yet the doc said it was. I went to the header file of 4.8.4 to see it was being obsoleted and then went to specific qt5 docs to find its name change. Maybe a pragma comment during build to flag that as deprecated would help.
I am new to the forums so I will look on how to add bugs as time goes on. Gone are the days when you didn't have to register for everything to get information and leave bugs or comments... sigh.
[quote author="DFileccia" date="1360269357"]No documentation on qmake changes for "widgets", "webkitwidgets" (I had to find them online at a StackOverflow).[/quote]Hello,
I don't use 64-bit MinGW so I apologise that can't help you with your other issues, but here is the official documentation about changes between Qt 4 and Qt 5: http://qt-project.org/doc/qt-5.0/qtdoc/portingguide.html (see also the links in the page, particularly "C++ API Changes")
[quote author="wilho" date="1359489796"]Is it so, that qt-release with n900 and n9 support came from nokia and never from qt-project? If so then it's more reasonable, but seems regression to me anyway. I'll have to look if nokia has anything anymore downloadable.[/quote]
Nokia future is currently locked with Microsoft, all other systems previously supported by Nokia phones will most likely be discontinued (very questionable decision, see: . "http://communities-dominate.blogs.com/...":http://communities-dominate.blogs.com/brands/2012/06/the-final-reckoning-of-burning-platforms-memo-damaged-nokia-by-wiping-out-13b-in-revenues-and-destro.html).
With the above I just want to point out how lucky is the Qt community that Digia took over (bought) the project. Without a stable company as a driving force behind a project of that scale I doubt that the open community would have continued in the same pace.
Talking about Qt5, the porting of Qt4 to Qt5.0.1 was really a hassle free on Windows 7. On a clean install with MSVC2010 compiler ready, the offline Qt5 installer pretty much took care of everything. Example applications run without any tweaks.