Mein libui Projekt muss sowohl kompilieren und Ziel-OS X 10.8 und höher, so habe ichWarum werden MAC_OS_X_VERSION_MIN_REQUIRED und MAC_OS_X_VERSION_MAX_ALLOWED nach dem Upgrade auf macOS Sierra/Xcode 8 nicht mehr berücksichtigt?
#define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_8
#define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_10_8
in der gemeinsamen Header-Datei für den Code Cocoa. Bis jetzt hat das funktioniert; Ich habe nichts über veraltete Funktionen nach 10.9 gesehen. Doch nach auf 10,12 und Xcode 8 gestern Abend aktualisieren, bin ich plötzlich eine ganze Reihe von deprecation Warnungen zu sehen, wie
/Users/pietro/src/github.com/andlabs/libui/darwin/entry.m:181:28: warning:
'NSRegularControlSize' is deprecated: first deprecated in macOS 10.12
[-Wdeprecated-declarations]
uiDarwinSetControlFont(t, NSRegularControlSize);
^~~~~~~~~~~~~~~~~~~~
NSControlSizeRegular
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSCell.h:102:28: note:
'NSRegularControlSize' has been explicitly marked deprecated here
static const NSControlSize NSRegularControlSize API_DEPRECATED_WITH_REPL...
^
als ob die Makros I zur Verfügung gestellt werden ignoriert. Ich habe versucht, herauszufinden, was passiert, und ich bekomme nur gemischte Signale: Einige Quellen auf Apples Entwickler-Site sagen mir, dass es wirklich __MAC_OS_X_VERSION_MIN_REQUIRED ist (und eine Zahl anstelle einer symbolischen Konstante für die Version selbst verwenden), während andere mir sagen bin richtig. Einige Quellen scheinen zu implizieren, dass diese Werte von den Compiler-Einstellungen bestimmt werden. Und ich kann nicht sagen, was Availability.h mehr will.
Für was es wert ist, verwendet dieses Projekt CMake zu bauen, und Xcode-Projekte nicht direkt verwendet.
Also, was mache ich falsch? Vielen Dank.
Sind Sie AvailabilityMacros.h? https://opensource.apple.com/source/xnu/xnu-3789.1.32/EXTERNAL_HEADERS/AvailabilityMacros.h.auto.html – Paurian
Ist das nicht automatisch in '' enthalten? –
andlabs
Ist das Implementierungsziel in den Erstellungseinstellungen auf <10,12 festgelegt? – Wevah