首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libopus和abseil之间的Cocoapods报头冲突

libopus和abseil之间的Cocoapods报头冲突
EN

Stack Overflow用户
提问于 2020-12-04 03:18:19
回答 1查看 156关注 0票数 0

我有一个包含以下Podfile的Xcode项目:

代码语言:javascript
复制
pod '!ProtoCompiler-gRPCPlugin', '~> 1.33'
pod 'gRPC', '~> 1.33'
pod 'libopus'

问题是,自从GRPC决定使用Abseil作为依赖,一个奇怪的冲突正在发生。编译时,我在Pods/abseil/base/config.h上得到以下错误:

'absl/base/options.h' file not found

但堆栈中的前一个调用实际上位于Pods/libopus/float/warped_autocorrelation_FLP.c中:

#include "config.h"

这是没有意义的,因为特定的config.h libopus试图获取实际上是在同一个pod目录中。

你知道怎么解决这个问题吗?我尝试过多个版本的libopus,但静态版本本身就有问题。

EN

回答 1

Stack Overflow用户

发布于 2020-12-07 21:09:29

冲突似乎是由HEADER_MAP = YES构建设置“泄漏”头引起的,没有适当的命名空间。

解决此问题的方法是隔离具有头冲突的库,然后:

  • 通过HEADER_SEARCH_PATHS

将其HEADER_MAP设置为NO

  • 添加头

要在Podfile中自动执行此操作,请执行以下操作:

代码语言:javascript
复制
post_install do |installer|

    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            # Prevent header conflicts
            if ['LIBRARY_A', 'LIBRARY_B'].include? target.name
                config.build_settings["USE_HEADERMAP"] = "NO"
                config.build_settings["HEADER_SEARCH_PATHS"] = "${PODS_TARGET_SRCROOT}/**"
            end
        end
    end

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

https://stackoverflow.com/questions/65132661

复制
相关文章

相似问题

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