2009-09-12 5 views
3

J'essaie de créer un lien vers le framework Kernel car une bibliothèque tierce utilise des fonctions de la bibliothèque du kit d'E/S (http://developer.apple.com/mac/library/documentation/Darwin/Reference/KernelIOKitFramework/index.html).Mac X Framework Kernel non trouvé

Je suis nouveau au développement sur MacX, je suis sur Snow Leopard et je compile avec le drapeau -m32.

g++-4.2 -headerpad_max_install_names -m32 -F/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/ -F/System/Library/Frameworks/ -o myApp debug/main.o -F/Library/Frameworks -L/Library/Frameworks -framework OpenCL -framework CoreAudio -framework Kernel -framework QtGui -framework Carbon -framework AppKit -framework QtCore -lz -lm -framework ApplicationServices 

je reçois l'erreur suivante:

ld: framework not found Kernel 

Je suis sûr que le cadre du noyau est dans le répertoire/System/Library/Frameworks (comme CoreAudio est). Mais l'éditeur de liens ne peut pas trouver le cadre du noyau. Est-il interdit de se lier avec le framework Kernel peut-être?

Des idées?

Merci, Paul

Répondre

4

Le cadre du noyau est juste un tas de têtes pour permettre une communication sensible avec le noyau et la capacité de construire des extensions du noyau Il y a n'y a pas de bibliothèques à établir un lien avec une application utilisateur.

Si vous essayez d'utiliser l'espace utilisateur IOKit pour communiquer avec le noyau de IOKit, vous devriez utiliser IOKit.framework. Si vous essayez d'utiliser des fonctions définies uniquement dans les en-têtes Kernel.framework à partir d'une application d'espace utilisateur, vous faites quelque chose de mal.

+0

Ok, cela l'explique. Je vous remercie! – Paul