【问题标题】:duplicate symbol in GoogleCastSDK-ios-4.4.7_staticGoogleCastSDK-ios-4.4.7_static 中的重复符号
【发布时间】:2020-07-07 10:06:42
【问题描述】:

最近我将 google-cast-sdk 升级到最新版本,但出现如下构建错误

  /Users/kxue/Documents/ios_trunk/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.7_static/GoogleCast.framework/GoogleCast(filterkit_2a008340bdfaacbcf917e42c4c119879.o)
  /Users/kxue/Documents/ios_trunk/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.7_static/GoogleCast.framework/GoogleCast(filterkit_1da3186a05aea8fa769cea2058201358.o)
duplicate symbol '_lrsFilterUp' in:
  /Users/kxue/Documents/ios_trunk/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.7_static/GoogleCast.framework/GoogleCast(filterkit_2a008340bdfaacbcf917e42c4c119879.o)
  /Users/kxue/Documents/ios_trunk/Pods/google-cast-sdk/GoogleCastSDK-ios-4.4.7_static/GoogleCast.framework/GoogleCast(filterkit_1da3186a05aea8fa769cea2058201358.o)

...

ld: 10 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

知道如何解决这个问题吗? 用之前的版本google-cast-sdk 4.2.0就没有了,谢谢~

【问题讨论】:

    标签: ios swift xcode google-cast google-cast-sdk


    【解决方案1】:

    这对我有用。

    1. 在您的项目中选择您的 iOS 目标。
    2. 选择构建设置
    3. 搜索“其他链接器标志”
    4. 双击“其他链接器标志”,它应该会弹出一个列表。如果您看到“-all_load”作为条目,请将其删除并再次尝试构建。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,但我的情况是因为我的内部 SDK podspec 的设置方式。根据拜伦的回答,我将子规范设置如下

      s.subspec "SomeSubspec" do |sp|
      
        sp.platform = :ios
      
        // block of code to link flags according to Google Cast documentation
        // make sure to not include -all_load
        sp.pod_target_xcconfig = { 'OTHER_LDFLAGS' => '-ObjC -lc++' }
        sp.xcconfig = { 'ENABLE_BITCODE' => 'NO' }
      
        sp.frameworks = "framework1", "framework2"
        sp.source_files  = "somepath/*.swift"
      
        sp.dependency InternalSDK/Somesubspec
        sp.ios.dependency 'google-cast-sdk', '4.4.8'
        sp.ios.dependency anotherpod, '3.19.1'
      
        sp.test_spec "Tests" do |test_spec|
          // block of code to link flags according to Google Cast documentation
          // make sure to not include -all_load
          test_spec.pod_target_xcconfig = { 'OTHER_LDFLAGS' => '-ObjC -lc++' }
          test_spec.xcconfig = { 'ENABLE_BITCODE' => 'NO' }
          test_spec.requires_app_host = true
          test_spec.source_files = "somepath/*.swift"
        end
      end
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-02
        • 1970-01-01
        • 2015-10-18
        • 2016-01-04
        • 2011-03-29
        • 1970-01-01
        • 2018-01-20
        • 1970-01-01
        相关资源
        最近更新 更多