Ошибка компоновщика для эхопечати в iOS

Я использую echoprint API для поиска песен за последние 3 месяца. Но внезапно это начало давать мне ошибки ниже. Я уже столкнулся со многими проблемами при добавлении этого API в мой проект, и теперь он начинает давать мне ошибку компоновщика. Это работало на меня ранее. Ошибка как это:

"Codegen:: Codegen (float const *, unsigned int, int)", на который ссылается: _GetPCMFromFile в File.o

clang: error: сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова)

ld: символ (ы) не найден для архитектуры i386

ld: warning: каталог не найден для опции '-LL/Users/prajaktakulkarni/Downloads/echoprint-codegen-4.12 2/src/echoprint-codegen-ios/build/Release-iphoneos' ld: warning: игнорировать файл /Users/prajaktakulkarni/Documents/Instajam/libechoprint-codegen-ios.a, отсутствует требуемая архитектура i386 в файле /Users/prajaktakulkarni/Documents/Instajam/libechoprint-codegen-ios.a (2 фрагмента) Неопределенные символы для архитектуры i386: "Codegen::Codegen(float const*, unsigned int, int)", на который ссылаются из: _GetPCMFromFile в File.o ld: символ (ы) не найден для архитектуры i386 clang: error: сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова)

2 ответа

Решение

Сообщение об ошибке говорит о том, что статическая библиотека libechoprint-codegen-ios.a не была построена для архитектуры i386, то есть архитектуры, используемой симулятором.

Вы можете узнать, для каких архитектур была создана статическая библиотека, запустив следующий код в Terminal:

lipo -info ~/Documents/Instajam/libechoprint-codegen-ios.a

Он, скорее всего, скажет вам, что он создан для armv7 и armv7s. Это будет поддерживать все, кроме самых старых iOS-устройств на момент написания статьи.

Вы можете собрать libechoprint-codegen-ios.a для запуска на симуляторе. Вот хорошая публикация stackru, если вы заинтересованы в этом: Создайте толстую статическую библиотеку (устройство + симулятор), используя Xcode и SDK 4+.

Самый простой вариант - просто подключить телефон и не беспокоиться о создании толстой статической библиотеки.:D

Недавно для меня была исправлена ​​проблема с использованием libz.1.1.3.tbd вместо libz.tbd и, конечно, эта ссылка полезна для Echoprint iOS Missing Framework

Другие вопросы по тегам