TapTools icon indicating copy to clipboard operation
TapTools copied to clipboard

Compilation errors for MaxObject.m and MacOSX10.6 SDK

Open jojocello opened this issue 4 years ago • 0 comments

Hello, I need to create a Max external to communicate with the Wacom tablet driver, which is written in Objective-C. Unfortunately, I cannot compile the file MaxObject.m with the recommended platform (MacOSX10.6 SDK). It seems that some Objective-C symbols of the SDK file runtime.h are marked UNAVAILABLE or deprecated. I use clang and makefile, but the errors are identical when I load the Xcode project that you provide. Does it exist a mean to fix this and produce the MaxObject framework ? Below is my stack trace. Thanks for your help. jocelyn

==== Compile objectivemax file : source/core/ObjectiveMax/MaxAudioSignal.m ==== clang -arch x86_64 -isysroot 3rdparty/MacOSX10.6.sdk -mmacosx-version-min=10.6 -ObjC -Wall -Wno-unknown-pragmas -Werror -g -O3 -DDENORM_WANT_FIX=1 -DNO_TRANSLATION_SUPPORT=1 -DC74_NO_DEPRECATION
-DMAC_VERSION -DMAC_EXT_VERSION -Dpowerc -fvisibility=hidden
-I3rdparty/Max8.sdk/max-includes -I3rdparty/Max8.sdk/msp-includes -I3rdparty/Max8.sdk/jit-includes
-F3rdparty/Max8.sdk/max-includes -F3rdparty/Max8.sdk/msp-includes -F3rdparty/Max8.sdk/jit-includes
-include 3rdparty/Max8.sdk/max-includes/macho-prefix.pch -c source/core/ObjectiveMax/MaxAudioSignal.m -o source/core/ObjectiveMax/MaxAudioSignal.o ==== Compile objectivemax file : source/core/ObjectiveMax/MaxObject.m ==== clang -arch x86_64 -isysroot 3rdparty/MacOSX10.6.sdk -mmacosx-version-min=10.6 -ObjC -Wall -Wno-unknown-pragmas -Werror -g -O3 -DDENORM_WANT_FIX=1 -DNO_TRANSLATION_SUPPORT=1 -DC74_NO_DEPRECATION
-DMAC_VERSION -DMAC_EXT_VERSION -Dpowerc -fvisibility=hidden
-I3rdparty/Max8.sdk/max-includes -I3rdparty/Max8.sdk/msp-includes -I3rdparty/Max8.sdk/jit-includes
-F3rdparty/Max8.sdk/max-includes -F3rdparty/Max8.sdk/msp-includes -F3rdparty/Max8.sdk/jit-includes
-include 3rdparty/Max8.sdk/max-includes/macho-prefix.pch -c source/core/ObjectiveMax/MaxObject.m -o source/core/ObjectiveMax/MaxObject.o source/core/ObjectiveMax/MaxObject.m:54:42: error: 'class_nextMethodList' is unavailable struct objc_method_list *methodlist = class_nextMethodList(aClass, &iterator); ^ 3rdparty/MacOSX10.6.sdk/usr/include/objc/runtime.h:493:38: note: 'class_nextMethodList' has been explicitly marked unavailable here OBJC_EXPORT struct objc_method_list *class_nextMethodList(Class, void **) OBJC2_UNAVAILABLE; ^ source/core/ObjectiveMax/MaxObject.m:55:45: error: no member named 'ivars' in 'struct objc_class' struct objc_ivar_list *varlist = aClass->ivars; ~~~~~~ ^ source/core/ObjectiveMax/MaxObject.m:59:27: error: incomplete definition of type 'struct objc_method_list' for(i=0; i < methodlist->method_count; i++){
~~~~~~~~~~^ 3rdparty/MacOSX10.6.sdk/usr/include/objc/runtime.h:460:8: note: forward declaration of 'struct objc_method_list' struct objc_method_list; ^ source/core/ObjectiveMax/MaxObject.m:63:49: error: incomplete definition of type 'struct objc_method_list' strncpy(methodname, (const char *)methodlist->method_list[i].method_name, 255); ~~~~~~~~~~^ 3rdparty/MacOSX10.6.sdk/usr/include/secure/_string.h:109:37: note: expanded from macro 'strncpy' ? __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
^~~ 3rdparty/MacOSX10.6.sdk/usr/include/objc/runtime.h:460:8: note: forward declaration of 'struct objc_method_list' struct objc_method_list; ^ source/core/ObjectiveMax/MaxObject.m:63:49: error: incomplete definition of type 'struct objc_method_list' strncpy(methodname, (const char *)methodlist->method_list[i].method_name, 255); ~~~~~~~~~~^ 3rdparty/MacOSX10.6.sdk/usr/include/secure/_string.h:110:34: note: expanded from macro 'strncpy' : __inline_strncpy_chk (dest, src, len)) ^~~ 3rdparty/MacOSX10.6.sdk/usr/include/objc/runtime.h:460:8: note: forward declaration of 'struct objc_method_list' struct objc_method_list; ^ source/core/ObjectiveMax/MaxObject.m:122:17: error: 'class_nextMethodList' is unavailable methodlist = class_nextMethodList(aClass, &iterator); ^ 3rdparty/MacOSX10.6.sdk/usr/include/objc/runtime.h:493:38: note: 'class_nextMethodList' has been explicitly marked unavailable here OBJC_EXPORT struct objc_method_list *class_nextMethodList(Class, void **) OBJC2_UNAVAILABLE; ^ source/core/ObjectiveMax/MaxObject.m:126:24: error: incomplete definition of type 'struct objc_ivar_list' for(i=0; i < varlist->ivar_count; i++){ ~~~~~~~^ source/core/ObjectiveMax/MaxObject.m:55:10: note: forward declaration of 'struct objc_ivar_list' struct objc_ivar_list *varlist = aClass->ivars; ^ source/core/ObjectiveMax/MaxObject.m:127:35: error: incomplete definition of type 'struct objc_ivar_list' struct objc_ivar var = varlist->ivar_list[i]; ~~~~~~~^ source/core/ObjectiveMax/MaxObject.m:55:10: note: forward declaration of 'struct objc_ivar_list' struct objc_ivar_list *varlist = aClass->ivars; ^ source/core/ObjectiveMax/MaxObject.m:127:22: error: variable has incomplete type 'struct objc_ivar' struct objc_ivar var = varlist->ivar_list[i]; ^ 3rdparty/MacOSX10.6.sdk/usr/include/objc/runtime.h:42:16: note: forward declaration of 'struct objc_ivar' typedef struct objc_ivar *Ivar; ^ source/core/ObjectiveMax/MaxObject.m:211:20: error: no member named 'super_class' in 'struct objc_class' aClass = aClass->super_class; ~~~~~~ ^ source/core/ObjectiveMax/MaxObject.m:496:41: error: 'cString' is deprecated [-Werror,-Wdeprecated-declarations] object_setInstanceVariable(self, [key cString], (void *)value); ^ 3rdparty/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSString.h:367:25: note: 'cString' has been explicitly marked deprecated here

  • (const char *)cString DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER; ^ 3rdparty/MacOSX10.6.sdk/usr/include/AvailabilityMacros.h:477:62: note: expanded from macro 'DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER' #define DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER DEPRECATED_ATTRIBUTE ^ 3rdparty/MacOSX10.6.sdk/usr/include/AvailabilityMacros.h:160:49: note: expanded from macro 'DEPRECATED_ATTRIBUTE' #define DEPRECATED_ATTRIBUTE attribute((deprecated)) ^ source/core/ObjectiveMax/MaxObject.m:512:41: error: 'cString' is deprecated [-Werror,-Wdeprecated-declarations] object_getInstanceVariable(self, [key cString], (void **)&value); ^ 3rdparty/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSString.h:367:25: note: 'cString' has been explicitly marked deprecated here
  • (const char *)cString DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER; ^ 3rdparty/MacOSX10.6.sdk/usr/include/AvailabilityMacros.h:477:62: note: expanded from macro 'DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER' #define DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER DEPRECATED_ATTRIBUTE ^ 3rdparty/MacOSX10.6.sdk/usr/include/AvailabilityMacros.h:160:49: note: expanded from macro 'DEPRECATED_ATTRIBUTE' #define DEPRECATED_ATTRIBUTE attribute((deprecated)) ^ 12 errors generated. make: *** [source/core/ObjectiveMax/MaxObject.o] Error 1-

jojocello avatar Jul 23 '21 09:07 jojocello