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时,出现这些重复符号的问题。任何人都可以帮助解决这个问题...
提前致谢。
最佳答案
看起来两个库都有一个具有相同名称的类。这很常见,因为他们正在解决相同的问题:扫描和解码条形码。
如果没有提供者之一更改类的名称,就无法避免此错误。与您的问题联系。
实际上,作为SDK提供程序,RedLaser和Scandit在默认情况下肯定应使用namespaces。使用名称空间的主要原因之一是避免重复的符号错误。
您的另一个选择是删除一个库(或两者都删除),并使用其他一些条形码扫描SDK,例如ZXing,Zbar或pdf417.mobi