Domanda

Sto provando a collegarmi al framework Kernel mentre una libreria di terze parti sta usando le funzioni della libreria I / O Kit ( http://developer.apple.com/mac/library/documentation/Darwin/Reference/KernelIOKitFramework/index.html ).

Sono nuovo allo sviluppo su MacX, sono su Snow Leopard e compilo con il flag -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

Ottengo il seguente errore:

ld: framework not found Kernel

Sono sicuro che il framework Kernel sia in / System / Library / Frameworks (come CoreAudio). Ma il linker non riesce a trovare il framework Kernel. È forse vietato collegarsi al framework Kernel?

Qualche idea?

Grazie, Paul

È stato utile?

Soluzione

Il framework del kernel è solo un insieme di intestazioni per consentire una comunicazione sensata con il kernel e la possibilità di costruire estensioni del kernel Non ci sono librerie in esso per collegarsi a un'applicazione di spazio utente.

Se stai cercando di usare le funzioni IOKit di userspace per comunicare con il lato kernel di IOKit, dovresti usare IOKit.framework. Se stai cercando di usare funzioni definite solo nelle intestazioni Kernel.framework da un'applicazione dello spazio utente, stai facendo qualcosa di sbagliato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top