我正在创建一个嵌入一些C库的框架。使用.modulemap文件将C库代码公开给Swift。在目标的Build Settings中,在Swift Compiler - Search Paths部分下,我设置.modulemap行中Import Paths文件的路径。在Search Paths部分下,库和头的路径分别设置在Library Search PathsHeader Search Paths行中。将框架添加到应用程序的项目并尝试构建应用程序后,它将失败,并出现错误pjsip.h file not found
Header Search Paths的值:
c - 在Xcode 7中找不到头文件-LMLPHP
标题文件夹的结构
c - 在Xcode 7中找不到头文件-LMLPHP
导入过程从突出显示的蓝色文件pjsua.h开始,然后导入其他标题,这些标题用红色矩形标记。
pjsua.h中导入的标题的完整列表
c - 在Xcode 7中找不到头文件-LMLPHP
您可以看到导入的头与成功导入时应该位于的pjsua.h文件夹不同,但这不是Header Search Paths查找头的任务吗?我不想弄乱headers文件夹的结构,因为它是第三方库,每次都会在每次必须完成此“魔术”时更新。include路径在Other C Flags行中定义,与settingsHeader Search Paths相同。我不知道我错过了什么。
笔记
头路径正确。
它们不包含任何空格。
P.SThis没有帮助。
更新:
此错误仅在为模拟器生成时显示,为实际设备生成Xcode失败,并出现多个错误Redefinition of ...

最佳答案

解决办法很简单,但很难看。也为主项目设置Header Search PathsSearch Paths。这绝对不是将框架添加到项目中的最佳方法,因为它公开了有关框架的详细信息,但却是解决问题的唯一方法。

关于c - 在Xcode 7中找不到头文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35268355/

10-11 16:44