我正在尝试链接到内核框架,因为第三方库正在使用I / O Kit库中的函数( http://developer.apple.com/mac/library/documentation/Darwin/Reference/KernelIOKitFramework/index.html

我是MacX上的新手,我在Snow Leopard上,并使用-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

我收到以下错误:

ld: framework not found Kernel

我确信Kernel框架位于/ System / Library / Frameworks中(如CoreAudio所示)。但是链接器找不到内核框架。是否禁止与内核框架链接?

有什么想法吗?

谢谢,保罗

有帮助吗?

解决方案

内核框架只是一堆标题,允许与内核进行合理的通信以及构建内核扩展的能力。它中没有可以链接到用户空间应用程序的库。

如果您尝试使用用户空间IOKit函数与IOKit的内核端进行通信,那么您应该使用IOKit.framework。如果您尝试使用仅在用户空间应用程序的Kernel.framework标头中定义的函数,那么您做错了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top