XCode:在kext中包含框架?
问题描述:
我正在编写的内核扩展需要包含一个框架(DirectIO),因此我在目标属性的“链接库”部分添加了该框架。然后我将它包含在主源文件中。XCode:在kext中包含框架?
的问题是,每当我试图建立它,它给这个错误:
/Developer/usr/bin/ld_classic: incompatible flag -framework used (must specify "-dynamic" to be used)
我使用的XCode 3.2雪豹,建设OSX I386。 .kext目标中是否可以包含.framework?
答
我不认为在构建内核扩展时,您可以链接一个框架(Kernel.framework除外)或动态库。
您的代码将以超级用户模式运行。与LD相关的东西在这个阶段基本不可用。
然而,您可以使用您的kext的plist文件(OSBundleLibraries)与其他扩展(/ System/Library/Extensions)链接。
请参阅Kernel Extension Programming Topics文档的'确定Kext依赖关系'。
可用的内核扩展中有很多I/O相关的东西。也许你会发现一个相当的。
谢谢,这似乎工作! – Eli