Solved Static Install Fails on OSX
-
I'm following the instructions on this page to install a static version of Qt5 on El Capitan. The configure and make commands go through without a hitch, but make install fails (I've tried a couple times starting from scratch). The last message before the error is this
/Users/devin/Downloads/qt-everywhere-opensource-src-5.7.0/qtbase/mkspecs/macx-clang -o .obj/osxbtutility.o osx/osxbtutility.mm osx/osxbtutility.mm:177:14: error: property 'data' cannot be found in forward class object 'CBUUID' if (uuid.data.length == 2) { ~~~~ ^ osx/osxbtutility_p.h:63:8: note: forward declaration of class here @class CBUUID; ^ osx/osxbtutility.mm:180:66: error: property 'data' cannot be found in forward class object 'CBUUID' const uchar *const src = static_cast<const uchar *>(uuid.data.bytes); ~~~~ ^ osx/osxbtutility_p.h:63:8: note: forward declaration of class here @class CBUUID; ^ osx/osxbtutility.mm:182:21: error: property 'data' cannot be found in forward class object 'CBUUID' } else if (uuid.data.length == 16) { ~~~~ ^ osx/osxbtutility_p.h:63:8: note: forward declaration of class here @class CBUUID; ^ osx/osxbtutility.mm:184:71: error: property 'data' cannot be found in forward class object 'CBUUID' const quint8 *const source = static_cast<const quint8 *>(uuid.data.bytes); ~~~~ ^ osx/osxbtutility_p.h:63:8: note: forward declaration of class here @class CBUUID; ^ osx/osxbtutility.mm:190:36: error: property 'data' cannot be found in forward class object 'CBUUID' << uuid.data.length << " bytes length"; ~~~~ ^ osx/osxbtutility_p.h:63:8: note: forward declaration of class here @class CBUUID; ^ osx/osxbtutility.mm:194:14: error: property 'data' cannot be found in forward class object 'CBUUID' if (uuid.data.length != 16) // TODO: warning? ~~~~ ^ osx/osxbtutility_p.h:63:8: note: forward declaration of class here @class CBUUID; ^ osx/osxbtutility.mm:219:41: warning: receiver 'CBUUID' is a forward class and corresponding @interface may not exist [-Wreceiver-forward-class] ObjCStrongReference<CBUUID> cbUuid([CBUUID UUIDWithCFUUID:cfUuid], true); //true == retain. ^~~~~~ osx/osxbtutility_p.h:63:8: note: forward declaration of class here @class CBUUID; ^ osx/osxbtutility.mm:219:48: warning: class method '+UUIDWithCFUUID:' not found (return type defaults to 'id') [-Wobjc-method-access] ObjCStrongReference<CBUUID> cbUuid([CBUUID UUIDWithCFUUID:cfUuid], true); //true == retain. ^~~~~~~~~~~~~~ 2 warnings and 6 errors generated. make[3]: *** [.obj/osxbtutility.o] Error 1 make[2]: *** [sub-bluetooth-install_subtargets] Error 2 make[1]: *** [sub-src-install_subtargets] Error 2 make: *** [module-qtconnectivity-install_subtargets] Error 2
Any help would be greatly appreciated! I can provide any more details as needed as well, but not sure where to start
-
Hi and welcome to devnet,
You're likely building Qt with Xcode 8 or 8.1.
Apple did some changes with the 10.12 SDK. You need to clone a more recent version of the QtConnectivity module.
-
Looks that was it, thanks! For anyone coming across in the future, I simply clone the qtconnectivity repository from here, and simply put it in place of the qtconnectivity module in the full codebase. Not sure if that's the proper way, but it seems to have compiled and installed properly