Ich versuche, eine Homebrew-Formel zu reparieren, mit der xcodebuild
eine Abhängigkeit aufgebaut wird. Leider basiert diese Abhängigkeit auf einem älteren SDK, MacOSX10.12.sdk
. Ich kann dieses Projekt nicht dazu bringen, ein neueres SDK zu verwenden, da dies eine umfassende Umgestaltung der Codebasis erfordern würde. Darüber hinaus stammt diese Bibliothek von Apple und sie haben sich dafür entschieden, die Unterstützung dafür im neuesten Xcode SDK absichtlich einzustellen.
Glücklicherweise habe ich es geschafft, das SDK, das ich brauche, aus diesem Repository auf Github zu finden . Aber jetzt weiß ich nicht, wie ich xcodebuild
die Verwendung des SDK erzwingen kann, das ich brauche. Egal welche Optionen oder Variablen ich setze, es xcodebuild
wird immer das Standard-SDK von Xcode verwendet.
Die Version des Systems, das ich dafür verwende, ist 10.12.6. Ja, obwohl die Version des Systems selbst 10.12 ist, weigert sich Xcode, ein SDK zu verwenden, das dieser Version entspricht.
Wie kann ich also erzwingen, xcodebuild
mein älteres SDK in meinem eigenen benutzerdefinierten Verzeichnis zu verwenden?
Sie führen xcodebuild wie folgt aus:
xcodebuild -sdk "/path/to/sdk/" -project myproj.xcodeproj
BIP2
-sdk
. wird immer noch mit Flags wie undxcodebuild
aufgerufen . Es wird auch mit und aufgerufenclang
-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
-mmacosx-version-min=10.13
libtool
MACOSX_DEPLOYMENT_TARGET=10.13
-syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
jksoegaard
BIP2
jksoegaard
BIP2
ilovezfs
hat mir (einer der Betreuer von Homebrew) geholfen, mein Problem zu lösen, ohne ein älteres SDK verwenden zu müssen, indem er einige Umgebungsvariablen gesetzt hat. Er erklärt es hier. Ich hatte bereits versucht, das zu tun, was er tat, aber ich glaube, ich habe es vermasselt, indem ich versuchte, ein älteres SDK zu verwenden.BIP2