2015-03-31 80 views
2
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时,我遇到了这些重复的符号问题。任何人都可以帮助解决这个问题...Redlaser SDK与Scandit SDK冲突

在此先感谢。

+0

你试图实现条码扫描功能,或别的东西, ? – Mrunal 2015-08-25 13:44:13

回答

1

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

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

事实上,作为SDK提供商,RedLaser和Scandit默认应该使用namespaces。使用名称空间的一个重要原因是为了避免重复的符号错误。

你的另一种选择是去除库的一个(或两个),以及使用其他条码扫描SDK,像ZXingZbar,或pdf417.mobi

+0

感谢您的解释。我已经删除了Scandit并使用LadLaser进行了扫描,但我不确定为什么有两个库可能会成为问题。 – Natasha 2015-04-02 10:07:55