Details
Description
Since the MS released the RTM version of Visual 2013 and Qt is reaching the 5.2 milestone I tried to build it again.
I see a number of improvements but Qt still doesn't compile properly. I managed to get it working, though. The following is the list of changes that I made:
1) In the file qtwebkit\Source\WTF\wtf\MathExtras.h
in the lines 124 and 169 (as of d4a6abc1b18d65a2bd665cdda10cedd97a98c249 )
I have added && _MSC_VER < 1800
(apparently other similar occurrences of this issue were fixed before, for some reason this one was missed-out)
2) Add new C++11 features that are implemented in MSVC 2013; as in https://codereview.qt-project.org/#change,65262
Then, to workaround VC bugs:
a) Uniform initialization doesn't work for C-style arrays: http://connect.microsoft.com/VisualStudio/feedback/details/802058/c-11-unified-initialization-fails-with-c-style-arrays
In the file qtbase\src\corelib\plugin\quuid.h two faulty initilizer-list usages in constructors need to be ifdefed-out (lines 85 and 150)
b) Variadic templates issue: https://connect.microsoft.com/VisualStudio/feedback/details/801828/c2143-error-when-compiling-c-code-with-variadic-templates
In the file qtbase\src\corelib\kernel\qobject_impl.h
Add the following near at line 102 (as of 7d7e8ae3fa79b06c916de1a7a10eed63611c5d25 )
template <> struct ConnectionTypes<List<>, true>
{ static const int *types() { static const int t[1] =
; return t; } };
(possibly ifdefed only for _MSC_VER == 1800)
Yes, I know that VC compiler bugs are external. However, since the stable compiler has been released in such state I expect Qt to provide workarounds (as described) to make the build process working.