2015-03-31 6 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, так и SDK Scandit, я получаю эти дубликаты символов. Может кто-нибудь помочь в решении этой проблемы ...Redlaser SDK противоречит Scandit SDK

Заранее спасибо.

+0

Вы пытаетесь осуществить штрих-кода функции сканирования или что-то еще ? – Mrunal

ответ

1

Похоже, что обе библиотеки имеют класс с тем же именем. Это не редкость, поскольку они решают одну и ту же проблему: сканирование и декодирование штрих-кодов.

Вы не можете избежать этой ошибки, если ни один из поставщиков не изменил имя класса. Свяжитесь с ними с вашей проблемой.

Фактически, как поставщики SDK, RedLaser и Scandit, безусловно, должны использовать namespaces по умолчанию. Одной из главных причин использования пространств имен является избежание дублирования ошибок символов.

Другой вариант заключается в удалении одной из библиотек (или оба), и использовать некоторые другие сканирования штрих-кодов SDK, как ZXing, Zbar или pdf417.mobi

+0

Спасибо за объяснение. Я уже удалил Scandit и реализовал сканирование с помощью LadLaser, но я не был уверен, почему проблема с двумя библиотеками может быть проблемой. – Natasha