首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >包括在框架模块内非模块化头部

包括在框架模块内非模块化头部
EN

Stack Overflow用户
提问于 2015-01-05 17:22:54
回答 14查看 122.7K关注 0票数 176

我使用的是Xcode 6,

1)首先,我创建了一个动态库(CoreLibrary)。此库包含RequestPoster.h文件。

2)然后我创建了一个Cocoa Touch框架,并添加了这个动态库(CoreLibrary)。

3)然后这个框架被添加到我的项目中,它在RequestPoster.h文件(CoreLibrary)中给出了错误。

错误:在框架模块类中包含非模块头:

ifaddrs.h,arpa/inet.h,sys/types.h>

在项目中找不到这些文件。

EN

回答 14

Stack Overflow用户

发布于 2016-06-22 12:15:28

确保头文件作为框架的公共头文件的一部分公开可用。

转到框架项目目标项目构建阶段,然后拖动以将相关的头文件从->移动到->。希望这能有所帮助!

票数 224
EN

Stack Overflow用户

发布于 2015-02-17 08:06:28

尝试进入"Target“下的”Build Settings“,并将"Allow Non-Modules in Framework Modules”设置为YES。

真正的答案是,导入的位置需要由库所有者更改。这些文件ifaddrs.h,arpa/inet.h,sys/typees.h被导入到框架中的.h文件中,这是Xcode不喜欢的。库维护人员应该将它们移动到.m文件中。例如,请参阅GitHub上的此问题,其中AFNetworking修复了相同的问题:https://github.com/AFNetworking/AFNetworking/issues/2205

票数 204
EN

Stack Overflow用户

发布于 2017-04-13 17:14:53

我也遇到了同样的问题,只需将头文件设为公共文件即可解决。

如果您正在处理项目中的多个模块。然后,您的头文件需要是公共的,以便在项目的其他部分中使用。您需要的是选择该头文件,并在项目的Utilities视图中。将文件从Project/Private更改为Public。如下图所示:

票数 42
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27776497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档