Подтвердить что ты не робот

Xcode 5.1 - Undefined символы для архитектуры x86_64 (zbar)

Я обновил мою версию кода x от 5.0 до 5.1
Я использовал ZBarSDK для защиты сканирующего штрих-кода. В симуляторе "iPhone Retina (3,5 дюйма)" и "iPhone Retina (4 дюйма)" он отлично работает. Но когда я хочу построить симулятор iPhone Retina (4-дюймовый 64-разрядный), он дает следующую ошибку.

ld: warning: ignoring file /Users/sayan/Desktop/ProjectAtanu/Omlis/Custom Classes/ZBarSDK/libzbar.a, missing required architecture x86_64 in file /Users/sayan/Desktop/ProjectAtanu/Omlis/Custom Classes/ZBarSDK/libzbar.a (3 slices)
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_ZBarReaderViewController", referenced from:
 objc-class-ref in HomeViewController.o
"_ZBarReaderControllerResults", referenced from:
-[HomeViewController imagePickerController:didFinishPickingMediaWithInfo:] in  HomeViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Архитектура: стандартная архитектура (arm64, armv7, armv7s) - $(ARCHS_STANDARD)
Действительные архитектуры: arm64, armv7, armv7s
Базовый SDK: последний IOS (IOS 7.1)
Цель развертывания iOS: iOS 6.1

Любая помощь очень ценится!

4b9b3361

Ответ 1

ИСПОЛЬЗОВАНИЕ PODS

pod 'ZBarSDK'

ИЛИ

Перекомпилируйте ZBar для iphone 5. Вы можете скачать перекомпилированную ZBAR из здесь, чтобы пропустить следующие

Шаги

  • Загрузите исходный код (у вас должно быть Mercurial для mac):

  • Откройте терминал и выполните следующие команды

    а. hg clone http://zbar.hg.sourceforge.net:8000/hgroot/zbar/zbar

    б. cd zbar

    с. hg checkout iPhoneSDK-1.3.1

    д. открыть iphone/zbar.xcodeproj

  • В проекте xcode отредактируйте схему "libzbar" и выберите "Release in Build"

  • Перейдите к настройкам сборки, установленным после следующих архитектур:

    а. Архитектуры → Стандартные архитектуры (armv7, armv72, arm64)

    б. Действительные архитектуры → arm64, armv7 armv7s

  • Скомпилируйте libzbar для устройства И для симулятора , здесь конфигурация:

  • Найдите скомпилированный libzbar.a и зайдите в папку с помощью Teminal.app,

    В моем случае:/Пользователи/kappe/Library/Developer/Xcode/DerivedData/zbar-gyozyrpbqzvslmfoadhqkwskcesd/Build/Products

    В этой папке вы должны иметь две подпапки Release-iphoneos и Release-iphonesimulator

  • Используя инструменты командной строки xcode, создайте свою универсальную lib:

    lipo -create Release-iphoneos/libzbar.a Release-iphonesimulator/libzbar.a -o libzbar.a

    Теперь вы можете использовать созданный libzbar.a, как в устройстве, так и в симуляторе.

Ссылка: http://www.federicocappelli.net/2012/10/05/zbar-library-for-iphone-5-armv7s/

Ответ 2

Это означает, что библиотека не поддерживается/не построена для новой архитектуры.

Для zBar этот ответ имеет ссылку на учебник, в котором вы можете загрузить исходный код и просто обновить lib до новой архитектуры.

Обычно для стороннего сервиса. они выпустят новую библиотеку с добавленной архитектурой, поэтому обязательно проверьте их сайт для обновления SDK.

Ответ 3

Вставьте настройки сборки в "Другие флаги библиотекаря" и "Другие флаги компоновщика": $(OTHER_LDFLAGS)