Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Entwickler
>
Kext (Kernel Extension) :: Fehler beim kompilieren
Kext (Kernel Extension) :: Fehler beim kompilieren
Zetaline
06.12.09
17:25
Ich habe mir ein wenig source code von:
geladen und versucht zu kompilieren.
Jedoch kommen viele Fehler beim kompilieren, obwohl ich gar nichts verändert habe.
Der Debugger sagt mir z.B. oft:
'FYBABVZAFD' was not declared in this scope
An anderer Stelle im Internet las ich, dass ich wohl irgendetwas vergessen hätte in #include oder OSBundleLibrary zu setzen. ABER ich habe doch gar nichts verändert, trotzdem bekomme ich jede Menge Fehler.
Ihr könnt ja mal selber probieren. Ist glaube ich auch egal was.
Ich hatte es mit: IOUSBFamily-385.4.1 probiert.
Wie kommt das?
Ich nutze das aktuellste OS und XCode Version.
„Auf der Verpackung stand: Erfordert IBM kompatiblen PC mit Windows oder besser. Also entschied ich mich für Mac + OS X = ♥“
Hilfreich?
0
Kommentare
Zetaline
07.12.09
15:08
Keiner eine Idee?
„Auf der Verpackung stand: Erfordert IBM kompatiblen PC mit Windows oder besser. Also entschied ich mich für Mac + OS X = ♥“
Hilfreich?
0
der_flo
07.12.09
16:08
der Quellcode, der unter http://www.opensource.apple.com
veröffentlich wird, ist
nicht
für Anfänger gedacht.
Auf diesen Seiten werden Quellcode-Fragmente bereit gestellt, keine kompletten Programme.
Wie du schon geschrieben hast, es fehlt im Header ein #include
Hilfreich?
0
Marcel Bresink
07.12.09
16:20
An anderer Stelle im Internet las ich, dass ich wohl irgendetwas vergessen hätte in #include oder OSBundleLibrary zu setzen. ABER ich habe doch gar nichts verändert, trotzdem bekomme ich jede Menge Fehler.
Ja, WEIL Du nichts verändert hast, bekommst Du jede Menge Fehler.
Die normale Entwicklungsumgebung von Mac OS X ist dazu ausgelegt, Programme im "Userland" oder Kexts mit offiziellen Kernel-APIs zu übersetzen. Wenn Du aber Teile des Kernels selbst kompilieren willst, dann reichen diese Schnittstellen nicht aus. Der Kernel und einige Kexts sind aus zahlreichen Modulen zusammengesetzt und verwenden intern natürlich private Schnittstellen, die "normalen" Programmen und Kexts nicht zur Verfügung stehen.
Um dieses Problem zu lösen, musst Du entweder selbst mit viel Sachkenntnis die includes ändern und Dir Header aus anderen Modulen besorgen, ODER Du richtest Dir mit dem Programm "Darwinbuild" vorher eine komplette Kernel-Kompilationsumgebung ein. Damit können die benötigten Header-Files erzeugt und die Umgebungsvariablen so eingestellt werden, dass der Compiler die richtigen Pfade findet.
Zum Einarbeiten in Darwinbuild für Snow Leopard ist dieses Dokument geeignet:
Darwinbuild kann man hier herunterladen:
Wenn es dann immer noch nicht klappt, kann es sein, dass Apple vergessen hat, die Quellen bestimmter benötigter Module zu veröffentlichen. In manchen Fällen ist das auch Absicht, da der Kernel an ein paar Stellen "zensiert" ist, um bestimmte Firmengeheimnisse nicht zu verraten.
Hilfreich?
0
Zetaline
07.12.09
17:24
Danke ihr beiden!
Besonders an @@Marcel Bresink
So viel Sachkenntnis besitze ich wahrlich nicht im geringsten.
Darwinbuild für Snow Leopard also...
Ui, ui, ui
Die Sache fängt mir über den Kopf zu wachsen.
Vielen Dank, für all die Informationen.
„Auf der Verpackung stand: Erfordert IBM kompatiblen PC mit Windows oder besser. Also entschied ich mich für Mac + OS X = ♥“
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
iPhone 17 "Air": Weitere Informationen zu Preis...
Gurman zum Release des neuen Apple TV, HomePods...
Vor 18 Jahren: iPhone, Apple TV und "Apple Inc."
Mac OS X: 25 Jahre Aqua, 25 Jahre Dock
IMAP und Abstürze: Apple bekommt die Probleme m...
Apple-Leak spricht vom "iPad Air M3"
TechTicker
Thunderbolt 5 am M4-Mac: Erstes Dock hinterläss...