我有一个包含以下Podfile的Xcode项目:
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,但静态版本本身就有问题。
发布于 2020-12-07 21:09:29
冲突似乎是由HEADER_MAP = YES构建设置“泄漏”头引起的,没有适当的命名空间。
解决此问题的方法是隔离具有头冲突的库,然后:
HEADER_SEARCH_PATHS将其HEADER_MAP设置为NO
要在Podfile中自动执行此操作,请执行以下操作:
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
endhttps://stackoverflow.com/questions/65132661
复制相似问题