Redlaser SDK конфликтует с Scandit SDK
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 ответ
Похоже, что обе библиотеки имеют класс с одинаковым именем. В этом нет ничего необычного, поскольку они решают одну и ту же проблему: сканируют и декодируют штрих-коды.
Вы не можете избежать этой ошибки, если один из провайдеров не изменит название класса. Свяжитесь с ними со своей проблемой.
Фактически, как поставщики SDK, RedLaser и Scandit должны определенно использовать пространства имен по умолчанию. Одна из главных причин использования пространств имен - избегать повторяющихся ошибок символов.
Другой вариант - удалить одну из библиотек (или обе) и использовать другой SDK для сканирования штрих-кодов, например ZXing, Zbar или http://pdf417.mobi/.