XCode:在kext中包含框架?

时间:2011-11-23 23:42:54

标签: c xcode frameworks kernel-extension

我写的内核扩展需要包含一个框架(DirectIO),所以我在目标属性的“链接库”部分添加了框架。然后我把它包含在主源文件中。

问题是,每当我尝试构建它时,都会出现此错误:

/Developer/usr/bin/ld_classic: incompatible flag -framework used (must specify "-dynamic" to be used)

我在Snow Leopard上使用XCode 3.2,为OSX i386构建。是否可以在.kext目标中包含.framework?

1 个答案:

答案 0 :(得分:2)

在构建内核扩展时,我认为您不能与框架(Kernel.framework除外)或动态库链接。

您的代码将以管理员模式运行。 LD相关的东西在那个阶段基本上没有。

然后,您可以使用kext的plist文件(OSBundleLibraries)链接其他扩展名(/ System / Library / Extensions)。

请参阅Kernel Extension Programming Topics文档的“确定Kext依赖关系”。

可用的内核扩展中有很多与I / O相关的东西。也许你会找到相同的东西。