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

Qt5 build fails on Mac when -no-opengl flag is used

    XMLWordPrintable

Details

    • macOS
    • a12ba316161b23b4ae147c59a9fbd501a7921ce4

    Description

      Configure Qt5 with -no-opengl on Mac and build fails to incomplete type of QOpenGLContext. There should not to be any dependency to opengl related objects.

      ./configure -no-opengl && make
      .........
      :44:
      In file included from ./qcocoawindow.h:50:
      ./qcocoaglcontext.h:55:32: error: base class has incomplete type
      class QCocoaGLContext : public QPlatformOpenGLContext
      ~~~~~~^~~~~~~~~~~~~~~~~~~~~
      ../../../../include/QtGui/5.1.0/QtGui/qpa/../../../../../src/gui/kernel/qplatformscreen.h:70:7: note: forward declaration of 'QPlatformOpenGLContext'
      class QPlatformOpenGLContext;
      ^
      qcocoaintegration.mm:371:39: error: member access into incomplete type 'QOpenGLContext'
      return new QCocoaGLContext(context->format(), context->shareHandle());
      ^
      ../../../../include/QtGui/../../src/gui/text/qfont.h:297:18: note: forward declaration of 'QOpenGLContext'
      friend class QOpenGLContext;
      ^
      2 errors generated.
      make[6]: *** [.obj/release-shared/qcocoaintegration.o] Error 1
      make[6]: *** Waiting for unfinished jobs....

      In file included from qcocoabackingstore.mm:42:
      In file included from ./qcocoabackingstore.h:47:
      In file included from ./qcocoawindow.h:50:
      ./qcocoaglcontext.h:55:32: error: expected class name
      class QCocoaGLContext : public QPlatformOpenGLContext
      ^
      ./qcocoaglcontext.h:58:51: error: unknown type name 'QPlatformOpenGLContext'
      QCocoaGLContext(const QSurfaceFormat &format, QPlatformOpenGLContext *share);
      ^
      In file included from qcocoawindow.mm:41:
      In file included from ./qcocoawindow.h:50:
      ./qcocoaglcontext.h:55:32: error: expected class name
      class QCocoaGLContext : public QPlatformOpenGLContext
      ^
      2 errors generated.
      make[6]: *** [.obj/release-shared/qcocoabackingstore.o] Error 1
      ./qcocoaglcontext.h:58:51: error: unknown type name 'QPlatformOpenGLContext'
      QCocoaGLContext(const QSurfaceFormat &format, QPlatformOpenGLContext *share);
      ^
      In file included from qnsview.mm:47:
      In file included from ./qcocoawindow.h:50:
      ./qcocoaglcontext.h:55:32: error: expected class name
      class QCocoaGLContext : public QPlatformOpenGLContext
      ^
      ./qcocoaglcontext.h:58:51: error: unknown type name 'QPlatformOpenGLContext'
      QCocoaGLContext(const QSurfaceFormat &format, QPlatformOpenGLContext *share);
      ^
      qnsview.mm:1239:60: warning: 'NSPICTPboardType' is deprecated [-Wdeprecated-declarations]
      NSRTFDPboardType, NSHTMLPboardType, NSPICTPboardType,
      ^
      /Applications/Xcode46.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSPasteboard.h:347:25: note:
      'NSPICTPboardType' declared here
      APPKIT_EXTERN NSString *NSPICTPboardType NS_DEPRECATED_MAC(10_0, 10_6);
      ^
      1 warning and 2 errors generated.
      make[6]: *** [.obj/release-shared/qnsview.o] Error 1
      2 errors generated.
      make[6]: *** [.obj/release-shared/qcocoawindow.o] Error 1
      make[5]: *** [release-all] Error 2
      make[4]: *** [sub-cocoa-make_first] Error 2
      make[3]: *** [sub-platforms-make_first] Error 2
      make[3]: *** Waiting for unfinished jobs....
      1 warning generated.

      Attachments

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

        Activity

          People

            iamsergio Sergio Martins
            qtcomsupport Qt Support
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes