"未找到标题"因为我从私有标头导入公共标头

时间:2016-08-31 15:31:07

标签: objective-c module frameworks clang dynamic-library

我正在dynamic framework中开发一个具有公共和私有标头的Objective-C。 由于某些原因,我 NOT 使用模块化导入指令

(例如:#import <MyFramework/MyPublicHeader.h>

相反,我使用非模块化导入指令

(例如:#import "MyPublicHeader.h"

我仍然可以构建一个模块,以便我可以从我的框架模块中导入它们

(例如:#import <MyFramework/MyPublicHeader.h>

到目前为止一切顺利。但是,当我从私有标题内部导入公共标题时,我得到&#34;标题未找到&#34;编译错误。

实施例

MyPrivateHeader.h :(编译错误!)

#import "MyPublicHeader.h"

MyPrivateHeader.h :(没有编译错误!)

#import <MyFramework/MyPublicHeader.h>

我检查了其他项目(例如YAPDatabase),它从其私有标头中导入公共标头而没有错误。事实上,我现在已经解决了这个问题,但我仍然想了解更多关于这个过程的内部结构。为什么我没有找到标题#34;在这种情况下?

有人可以说明modulespublic headersprivate headers的内部机制吗?

0 个答案:

没有答案