加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xcode – ModuleMap:如何设置伞形头的相对路径?

发布时间:2020-12-14 19:18:18 所属栏目:百科 来源:网络整理
导读:我正在使用 Swift Package Manager.我有一个项目,我可以通过“快速构建”成功构建.我通过“swift package generate-xcodeproj”创建了一个Xcode项目.当我在Xcode中打开项目时,它成功构建. Xcode项目包括两个模块A和B. 模块A具有以下映射: module ModuleA {
我正在使用 Swift Package Manager.我有一个项目,我可以通过“快速构建”成功构建.我通过“swift package generate-xcodeproj”创建了一个Xcode项目.当我在Xcode中打开项目时,它成功构建.

Xcode项目包括两个模块A和B.

模块A具有以下映射:

module ModuleA {
    umbrella header "/Users/Robert/Temp/MyProject/Sources/ModuleA/include/ModuleA.h"
    link "ModuleA"
    export *
}

模块B依赖于A并具有以下导入:

import ModuleA

到现在为止还挺好;一切都成功建立.现在我想更改模块映射,以便它使用相对路径,例如:

module ModuleA {
    umbrella header "ModuleA.h"
    link "ModuleA"
    export *
}

但是,当我这样做时,我无法构建模块B:错误 – 未找到伞标题“ModuleA.h”.我已经尝试了在构建设置中我能想到的所有内容 – >搜索路径 – >标题搜索路径和用户标题搜索路径.我在网上,这里和其他地方发现了类似的问题,并尝试过我读过的内容,但到目前为止还没有.

这已达到拔毛阶段.任何建议将不胜感激!

解决方法

我的猜测是你正在修改生成的模块图.在/Users/Robert/Temp/MyProject/Sources/ModuleA/include/module.modulemap中创建一个modulemap文件,其中包含:

module ModuleA {
    umbrella header "ModuleA.h"
    link "ModuleA"
    export *
}

运行$swift package clean以删除.build目录中的旧生成的modulemap和$swift build以确认自定义模块映射是否有效.然后删除生成的Xcode项目并重新生成它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读