Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-34705

Compilation issues with MSVC 2013

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.2.0
    • 5.2.0 Beta1
    • WebKit
    • None
    • Windows 8.1
      Visual Studio 2013
    • 6533a736a7dd899280069b5d1855cfa13767341b

    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] =

      { 0 }

      ; 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.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            loaden Yuchen Deng
            mwu Michał Urbańczyk
            Votes:
            1 Vote for this issue
            Watchers:
            11 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes