Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. How to build Qt 5.6.1 on Sierra with Xcode 8.3?

How to build Qt 5.6.1 on Sierra with Xcode 8.3?

Scheduled Pinned Locked Moved Solved Installation and Deployment
5 Posts 2 Posters 2.1k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    davidb
    wrote on last edited by
    #1

    Re: Static Install Fails on OSX

    I'm trying to build Qt 5.6.1 on Sierra with Xcode 8.3. I get the error referenced above. I tried copying in qtconnectivity from the 5.6.2 tag, same error. I tried the 5.7.1 tag, new error:

    In file included from /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/base/mac/mac_util.mm:23:
    /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/base/mac/sdk_forward_declarations.h:465:12: error: cannot define category for undefined class 'CBPeripheral'
    @interface CBPeripheral (MavericksSDK)
               ^
    

    What am I doing wrong?

    A 1 Reply Last reply
    0
    • D davidb

      Re: Static Install Fails on OSX

      I'm trying to build Qt 5.6.1 on Sierra with Xcode 8.3. I get the error referenced above. I tried copying in qtconnectivity from the 5.6.2 tag, same error. I tried the 5.7.1 tag, new error:

      In file included from /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/base/mac/mac_util.mm:23:
      /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/base/mac/sdk_forward_declarations.h:465:12: error: cannot define category for undefined class 'CBPeripheral'
      @interface CBPeripheral (MavericksSDK)
                 ^
      

      What am I doing wrong?

      A Offline
      A Offline
      ambershark
      wrote on last edited by
      #2

      @davidb said in How to build Qt 5.6.1 on Sierra with Xcode 8.3?:

      cannot define category for undefined class 'CBPeripheral'

      The problem is in XCode 8 and Chromium's code which QtWebEngine uses. Here is a fix for you:

      http://stackoverflow.com/questions/39572757/cannot-define-category-for-undefined-class

      My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

      1 Reply Last reply
      1
      • D Offline
        D Offline
        davidb
        wrote on last edited by
        #3

        @ambershark Thanks - after applying that fix, I now get this set of errors:

        /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm:46:16: error: unknown class name 'CBCentralManagerDelegate'; did you mean 'CBCentralManager'?
            : NSObject<CBCentralManagerDelegate> {
                       ^~~~~~~~~~~~~~~~~~~~~~~~
                       CBCentralManager
        /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/base/mac/sdk_forward_declarations.h:46:8: note: 'CBCentralManager' declared here
        @class CBCentralManager;
               ^
        /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm:46:16: error: type argument 'CBCentralManager' must be a pointer (requires a '*')
            : NSObject<CBCentralManagerDelegate> {
                       ^
                                                *
        /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm:46:7: error: type arguments cannot be applied to non-parameterized class 'NSObject'
            : NSObject<CBCentralManagerDelegate> {
              ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~
        /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm:108:7: warning: multiple methods named 'state' found [-Wobjc-multiple-method-names]
          if ([manager_ state] != CBCentralManagerStatePoweredOn) {
              ^~~~~~~~~~~~~~~~
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURLSession.h:312:44: note: using
        @property (readonly) NSURLSessionTaskState state;
                                                   ^~~~~
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSCell.h:182:21: note: also found
        @property NSInteger state;
                            ^~~~~
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSButton.h:27:21: note: also found
        @property NSInteger state;
                            ^~~~~
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSMenuItem.h:106:21: note: also found
        @property NSInteger state;
                            ^~~~~
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSGestureRecognizer.h:67:47: note: also found
        @property (readonly) NSGestureRecognizerState state;
                                                      ^~~~~
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSDrawer.h:73:32: note: also found
        @property (readonly) NSInteger state;
                                       ^~~~~
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSVisualEffectView.h:99:31: note: also found
        @property NSVisualEffectState state;
                                      ^~~~~
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:126:39: note: also found
        @property(readonly) CBPeripheralState state;
                                              ^~~~~
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/ImageCaptureCore.framework/Headers/ICScannerFunctionalUnits.h:663:53: note: also found
        @property(readonly)   ICScannerFunctionalUnitState  state;
                                                            ^~~~~
        /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm:108:27: error: use of undeclared identifier 'CBCentralManagerStatePoweredOn'
          if ([manager_ state] != CBCentralManagerStatePoweredOn) {
                                  ^
        /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm:125:13: warning: instance method '-scanForPeripheralsWithServices:options:' not found (return type defaults to 'id') [-Wobjc-method-access]
          [manager_ scanForPeripheralsWithServices:services options:nil];
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:16:8: note: receiver is instance of class declared here
        @class CBCentralManager;
               ^
        /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm:131:15: warning: instance method '-stopScan' not found (return type defaults to 'id') [-Wobjc-method-access]
            [manager_ stopScan];
                      ^~~~~~~~
        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:16:8: note: receiver is instance of class declared here
        @class CBCentralManager;
               ^
        /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm:155:34: warning: instance method '-initWithDelegate:queue:' not found (return type defaults to 'id') [-Wobjc-method-access]
          manager_.reset([[aClass alloc] initWithDelegate:bridge_
                                         ^~~~~~~~~~~~~~~~~~~~~~~~
        4 warnings and 4 errors generated.
        [9242/11832] OBJCXX obj/src/3rdparty/chromium/device/bluetooth/device_bluetooth.bluetooth_l2cap_channel_mac.o
        ninja: build stopped: subcommand failed.
        make[4]: *** [invoke_ninja] Error 1
        make[3]: *** [sub-gyp_run-pro-make_first] Error 2
        make[2]: *** [sub-core-make_first] Error 2
        make[1]: *** [sub-src-make_first] Error 2
        make: *** [module-qtwebengine-make_first] Error 2
        
        

        Any ideas?

        A 1 Reply Last reply
        0
        • D davidb

          @ambershark Thanks - after applying that fix, I now get this set of errors:

          /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm:46:16: error: unknown class name 'CBCentralManagerDelegate'; did you mean 'CBCentralManager'?
              : NSObject<CBCentralManagerDelegate> {
                         ^~~~~~~~~~~~~~~~~~~~~~~~
                         CBCentralManager
          /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/base/mac/sdk_forward_declarations.h:46:8: note: 'CBCentralManager' declared here
          @class CBCentralManager;
                 ^
          /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm:46:16: error: type argument 'CBCentralManager' must be a pointer (requires a '*')
              : NSObject<CBCentralManagerDelegate> {
                         ^
                                                  *
          /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm:46:7: error: type arguments cannot be applied to non-parameterized class 'NSObject'
              : NSObject<CBCentralManagerDelegate> {
                ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~
          /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm:108:7: warning: multiple methods named 'state' found [-Wobjc-multiple-method-names]
            if ([manager_ state] != CBCentralManagerStatePoweredOn) {
                ^~~~~~~~~~~~~~~~
          /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURLSession.h:312:44: note: using
          @property (readonly) NSURLSessionTaskState state;
                                                     ^~~~~
          /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSCell.h:182:21: note: also found
          @property NSInteger state;
                              ^~~~~
          /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSButton.h:27:21: note: also found
          @property NSInteger state;
                              ^~~~~
          /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSMenuItem.h:106:21: note: also found
          @property NSInteger state;
                              ^~~~~
          /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSGestureRecognizer.h:67:47: note: also found
          @property (readonly) NSGestureRecognizerState state;
                                                        ^~~~~
          /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSDrawer.h:73:32: note: also found
          @property (readonly) NSInteger state;
                                         ^~~~~
          /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSVisualEffectView.h:99:31: note: also found
          @property NSVisualEffectState state;
                                        ^~~~~
          /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:126:39: note: also found
          @property(readonly) CBPeripheralState state;
                                                ^~~~~
          /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/ImageCaptureCore.framework/Headers/ICScannerFunctionalUnits.h:663:53: note: also found
          @property(readonly)   ICScannerFunctionalUnitState  state;
                                                              ^~~~~
          /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm:108:27: error: use of undeclared identifier 'CBCentralManagerStatePoweredOn'
            if ([manager_ state] != CBCentralManagerStatePoweredOn) {
                                    ^
          /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm:125:13: warning: instance method '-scanForPeripheralsWithServices:options:' not found (return type defaults to 'id') [-Wobjc-method-access]
            [manager_ scanForPeripheralsWithServices:services options:nil];
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:16:8: note: receiver is instance of class declared here
          @class CBCentralManager;
                 ^
          /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm:131:15: warning: instance method '-stopScan' not found (return type defaults to 'id') [-Wobjc-method-access]
              [manager_ stopScan];
                        ^~~~~~~~
          /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreBluetooth.framework/Headers/CBPeripheral.h:16:8: note: receiver is instance of class declared here
          @class CBCentralManager;
                 ^
          /Users/sierramcbuildmachine/dev/qt561_fmosoft/qtwebengine/src/3rdparty/chromium/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm:155:34: warning: instance method '-initWithDelegate:queue:' not found (return type defaults to 'id') [-Wobjc-method-access]
            manager_.reset([[aClass alloc] initWithDelegate:bridge_
                                           ^~~~~~~~~~~~~~~~~~~~~~~~
          4 warnings and 4 errors generated.
          [9242/11832] OBJCXX obj/src/3rdparty/chromium/device/bluetooth/device_bluetooth.bluetooth_l2cap_channel_mac.o
          ninja: build stopped: subcommand failed.
          make[4]: *** [invoke_ninja] Error 1
          make[3]: *** [sub-gyp_run-pro-make_first] Error 2
          make[2]: *** [sub-core-make_first] Error 2
          make[1]: *** [sub-src-make_first] Error 2
          make: *** [module-qtwebengine-make_first] Error 2
          
          

          Any ideas?

          A Offline
          A Offline
          ambershark
          wrote on last edited by
          #4

          @davidb To be honest these problems look like more of the same related to the issue above.

          It's basically not having the specific header included to define these objects.

          Like #import <CoreBluetooth/CBPeripheral.h> for the fix above. I don't know obj-c so I can't help with the specific but if I had to guess you could try #import <CoreBluetooth/CBCentralManager.h> and #import <CoreBluetooth/CBCentralManagerDelegate.h>. Just guessing though. :)

          I would google that error and I bet you find someone who had similar problems and a possible solution.

          My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

          1 Reply Last reply
          0
          • D Offline
            D Offline
            davidb
            wrote on last edited by
            #5

            @ambershark thanks. Here's the solution that works for me, in case it helps someone else:

            Start with Qt 5.6.1 on MacOS Sierra 10.12.3, with Xcode 8.3.

            1. following https://forum.qt.io/topic/72833/static-install-fails-on-osx, get qtconnectivity from Qt 5.7.1
            2. Similarly, get qtwebengine 5.7.1 and run git submodule update --init

            Then Qt 5.6.1 (with the two 5.7.1 modules) built for me.

            1 Reply Last reply
            1

            • Login

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups
            • Search
            • Get Qt Extensions
            • Unsolved