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 时,我遇到了这些重复符号问题。谁能帮忙解决这个问题...

提前致谢。

4

1 回答 1

1

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

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

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

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

于 2015-04-02T09:45:16.793 回答