[Interest] Qt Binaries for Mingw 4.7
K. Frank
kfrank29.c at gmail.com
Thu Jul 19 22:38:47 CEST 2012
Hello Konrad and Yves!
On Thu, Jul 19, 2012 at 4:07 AM, Konrad Rosenbaum <konrad at silmor.de> wrote:
> Hi,
>
> I'm using features of C++11 (provided by GCC 4.7, and maybe LLVM 3.1)
Me too, especially std::thread.
> in my
> projects, which is fine for Linux, but there are some problems on Windows.
I have been using mingw-w64 4.7.0 with Qt to good effect.
> Moving back to an earlier GCC is not an option - I'd rather drop Windows-
> Support (I've already dropped Mac for the same reason).
>
> If I use the official Qt 4.8.2 binary package for Mingw 4.4 the application
> crashes immediately on start when it is trying to initialize itself. I presume
> a Qt compiled with Mingw4.4 is incompatible with a project compiled with Mingw
> 4.7 - is this correct?
I do not know for sure, but it would not surprise me if 4.4 and 4.7
code would be incompatible. The various mingw projects do try
to maintain abi (link-time) compatibility, but not at all costs. I have
always been conservative and made a point of rebuilding Qt (and
other libraries) when upgrading the version of g++ I use for day-to-day
use.
> I'm also trying to compile Qt myself - after several days it is still in the
> middle of compiling the Webkit module. I know compiling on windows is slow -
> but this bad?
My most recent build of Qt was 4.8.0-rc1 (so not your 4.8.2 version,
but still 4.8) using a 64-bit mingw-w64 Ruben personal build of
g++ 4.7.0 on a native 64-bit windows 7 system.
It took "about a day" (where "about a day" might mean, say, ten
hours). It was certainly "rather slow" -- it didn't take just a couple
of hours, but neither did it take a couple of days.
(As I understand it, make / g++, with their roots in the unix world,
spawn a bunch of subprocesses to do the work, and that's an
expensive process on windows.)
> Windows runs in a VirtualBox VM, Guest Utils are installed, the
> sources and Mingw are in a shared folder. I would try to move everything to a
> virtual hard disk next - does anyone know whether this would help?
I definitely have had link times be really slow when the input
object files and the output exe's and/or libs resided on network
storage, rather than on a local hard drive.
I don't know whether this is relevant to your case, though.
> Any hints on how I could solve my dilemma?
I don't have any specific suggestions. I only offer myself as a
proof-of-principle that what you want to do is (basically) possible.
One comment: I built Qt using its "default" configuration (i.e.,
I didn't explicitly turn anything on or off). I think that Webkit
gets built by default, but I don't actually know. (I'd be glad
to check if someone would tell me how.)
Also, I did not use the g++ command-line argument that turns
on c++11 support ("-std=c++0x") when compiling Qt. I believe,
but haven't verified, that I could compile my code with -std=c++0x,
and link it with Qt built without.
On Thu, Jul 19, 2012 at 4:23 AM, Yves Bailly <yves.bailly at sescoi.fr> wrote:
> Hello Konrad,
>
> Le 19/07/2012 10:07, Konrad Rosenbaum a écrit :
>>
>> Does anyone provide a complete binary package for Qt 4.8.2 compiled with
>> Mingw4.7?
I don't know for sure, but I don't think anybody provides mingw32
or mingw-w64 pre-built Qt binaries on a systematic basis. (I've
always built my own.)
> Are you trying 32bits or 64bits builds?
>
> The only really working 64bits MinGW I ever found is the one from TDM
> (http://tdm-gcc.tdragon.net/, also probably the easiest to install), but for now, no 4.7.x
> release available...
I've used TDM builds in the past (but mingw32, rather than mingw-w64),
but I would say that a number of the other "personal" mingw-w64 64-bit
builds are also "really working." Recently I've been using Ruben's
personal builds, and am currently using a 4.7.0 build that supports
many c++11 features (including std::thread).
So, no complaints about TDM, but there are alternatives.
> Are you using MinGW-w64? Is is usable without MSYS, and installable without too much troubles?
I am using mingw-w64 quite successfully without msys. I found the
"installation process" very straightforward -- download, unzip, and add
the relevant "bin" directory to the path.
My own code doesn't use unix-style "configure" utilities (as I
understand it, the main reason for msys), and Qt comes with its
own windows configure script, so you don't need msys to build Qt.
> I'd be more than glad to try such a build, targetting 64bits binaries.
>
> Regards,
Good luck.
K. Frank
More information about the Interest
mailing list