【问题标题】:Redlaser SDK is conflicting with Scandit SDKRedlaser SDK 与 Scandit SDK 冲突
【发布时间】:2015-03-31 15:11:34
【问题描述】:
    duplicate symbol _OBJC_IVAR_$_Decoder.image in:
     /Users/......./ScanditSDK/libscanditsdk-iphone-2.1.11.a(Decoder-3DF771F40A970F8E.o)
     /Users/......./RedLaser/libRedLaserSDK.a(Decoder-DD22F2D71AAA0F2E.o)

   duplicate symbol _OBJC_IVAR_$_Decoder.cropRect in:
    /Users/......./ScanditSDK/libscanditsdk-iphone-2.1.11.a(Decoder-3DF771F40A970F8E.o)
    /Users/......./RedLaser/libRedLaserSDK.a(Decoder-DD22F2D71AAA0F2E.o)

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

当我尝试同时导入 RedLaser 和 Scandit SDK 时,我遇到了这些重复符号问题。谁能帮忙解决这个问题...

提前致谢。

【问题讨论】:

  • 您正在尝试实现条形码扫描功能或其他功能?

标签: ios ipad linker barcode-scanner arm7


【解决方案1】:

看起来两个库都有一个同名的类。这并不罕见,因为他们解决的是同一个问题:扫描和解码条形码。

如果没有一个提供者更改类的名称,您将无法避免此错误。联系他们解决您的问题。

事实上,作为 SDK 提供者,RedLaser 和 Scandit 绝对应该默认使用namespaces。使用命名空间的一大原因是避免重复符号错误。

您的另一个选择是删除其中一个库(或两者),并使用其他一些条码扫描 SDK,例如 ZXingZbarpdf417.mobi

【讨论】:

  • 感谢您的解释。我已经删除了 Scandit 并使用 LadLaser 实现了扫描,但我不确定为什么拥有两个库会成为问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-15
  • 2020-03-12
  • 2013-07-19
  • 1970-01-01
相关资源
最近更新 更多