Frage

Ich versuche, auf den Kernel Rahmen als 3rd-Party-Bibliothek zu verknüpfen ist mit Funktionen aus der E / A-Kit-Bibliothek ( http://developer.apple.com/mac/library/documentation/Darwin/Reference/KernelIOKitFramework/index.html ).

Ich bin neu in Entwicklung auf MacX, ich bin auf Snow Leopard und wir kompilieren mit der -m32 Flagge.

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

Ich erhalte den folgenden Fehler:

ld: framework not found Kernel

Ich bin sicher, dass der Kernel-Framework ist in / System / Library / Frameworks (wie CoreAudio- ist). Aber die Linke kann den Kernel Rahmen finden. Ist es verboten, mit dem Kernel Rahmen zu verknüpfen vielleicht?

Irgendwelche Ideen?

Danke, Paul

War es hilfreich?

Lösung

Der Kernel-Framework ist nur ein Haufen von Headern für sinnvolle Kommunikation mit dem Kernel und die Fähigkeit zu ermöglichen Kernel-Erweiterungen zu bauen Es gibt keine Bibliotheken darin gegen eine Userspace-Anwendung zu verknüpfen.

Wenn Sie versuchen, User-Space IOKit Funktionen zu verwenden, mit der Kernel Seite IOKit zu kommunizieren, sollten Sie mit IOKit.framework werden. Wenn Sie versuchen, Funktionen zu verwenden, die nur in den Kernel.framework Header von einem User-Space-Anwendung definiert werden dann machst du etwas falsch gemacht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top