Redlaser SDK与Scandit SDK冲突

时间:2015-03-31 15:11:35

标签: ios ipad linker barcode-scanner arm7

    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时,我遇到了这些重复的符号问题。任何人都可以帮助解决这个问题......

提前致谢。

1 个答案:

答案 0 :(得分:1)

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

如果没有其中一个提供程序更改类的名称,则无法避免此错误。与您的问题联系。

事实上,作为SDK提供商,RedLaser和Scandit默认情况下肯定会使用namespaces。使用命名空间的一个重要原因是避免重复的符号错误。

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