Why is Qt Creator for Windows built with MSVC++ and not MinGW gcc?
-
Hi!
First let me clarify that I know that the two (Qt Creator and Qt SDK) are two separate entities (even though the first uses the libraries of the second) and that Qt Creator can be used without the Qt SDK being installed on the system used.
The Qt SDK comes with MinGW gcc and - unless build from source - the libraries themselves are built with it (not good to mix stuff made by multiple compilers). For my surprise (I've only recently started using Windows at work after a pause of a approx. 3-4 years) a couple of days ago while looking at a tutorial on developing plugins for the IDE I discovered this and I was (still am) pretty disappointed.
I would like to know why Qt Creator is built with a compiler that is not (and cannot be for obvious reasons) shipped with the SDK which is to be used to develop plugins for it. This is counterproductive to say the least and I doubt that in terms of optimization (which one might be tempted to point out when it comes to comparing GCC with MSVC++ on Windows) the performance gain is big enough to make up for that (of course I might be wrong).
While there is a relatively big chance that a Windows installation used for developing software has Windows SDK installed on it (or Visual Studio) in case of a multiplatform development this would not be the case. Hence a developer using Qt Creator is basically forced to install the whole Windows SDK just to create a hello world plugin for Qt Creator on Windows.
-
Hi, it's pretty easy to build your own flavor of Qt Creator, for example with another MSVC version than 2013 or MinGW, just download the source .zip file and open qtcreator.pro.
(Download and compiling Qt Creator's source code is a process you have to go through anyway to build a plugin for Qt Creator, because you'll need the .h and .lib files, e.g. Core4.lib etc.)
-
The Qt SDK comes with MinGW gcc
That's only partially true. If you're talking about the online installer MinGW is an optional component. If you're talking about the offline packages then it only comes with the MinGW builds (obviously), not MSVC ones.
So the difference is minimal - download MinGW from Qt Company or MSVC from Microsoft. In no case you need both.I was (still am) pretty disappointed
Well, there are two major compilers for Windows and it would be waste of time and effort to maintain builds of Qt Creator done with two compilers so whichever you choose users of the other one will be disappointed. Such is life.
This is counterproductive to say the least
Well, to people using MinGW it might be. I'm using MSVC and have never used MinGW for anything major so it's very fortunate to me. See how this works? ;)
Hence a developer using Qt Creator is basically forced to install the whole Windows SDK.
As you said it yourself. There's a big chance that if you're using MSVC you already have Windows SDK installed. If you're writing plugins for a desktop app (Qt Creator) it's not surprising that you need a desktop SDK.
If you don't want the Microsoft toolchain on your machine then just compile Qt Creator with MinGW, as @hskoglund suggested. -
The Qt SDK comes with MinGW gcc
That's only partially true. If you're talking about the online installer MinGW is an optional component. If you're talking about the offline packages then it only comes with the MinGW builds (obviously), not MSVC ones.
So the difference is minimal - download MinGW from Qt Company or MSVC from Microsoft. In no case you need both.I was (still am) pretty disappointed
Well, there are two major compilers for Windows and it would be waste of time and effort to maintain builds of Qt Creator done with two compilers so whichever you choose users of the other one will be disappointed. Such is life.
This is counterproductive to say the least
Well, to people using MinGW it might be. I'm using MSVC and have never used MinGW for anything major so it's very fortunate to me. See how this works? ;)
Hence a developer using Qt Creator is basically forced to install the whole Windows SDK.
As you said it yourself. There's a big chance that if you're using MSVC you already have Windows SDK installed. If you're writing plugins for a desktop app (Qt Creator) it's not surprising that you need a desktop SDK.
If you don't want the Microsoft toolchain on your machine then just compile Qt Creator with MinGW, as @hskoglund suggested.Hi, just want to add to what @Chris-Kawa said, building it with MinGW takes about 30 minutes and then you'll see this glorious About dialog box: