Ошибка ссылки - отсутствует необходимая архитектура i386 в файле-символах не найдена - PullRequest
3 голосов
/ 15 сентября 2011

Я работаю над приложением, которое использует Twitter API.

Приложение работает нормально, когда оно подключено к устройству IOS, но когда я меняю архитектуру с armv6 на i386, чтобы запустить его на симуляторе, я получаю эту ошибку:

  ld: warning: ignoring file       /Users/username/Desktop/tweetsAloud/tweets2/tweetsAloud/Src/NeoSpeech/lib-i iphoneos/libvt_eng_julie.a, missing required architecture i386 in file
Undefined symbols for architecture i386:
  "_VT_LOADTTS_ENG", referenced from:
      -[TweetsViewController viewWillAppear:] in TweetsViewController.o
  "_VT_UNLOADTTS_ENG", referenced from:
      -[TweetsViewController viewWillDisappear:] in TweetsViewController.o
  "_VT_TextToFile_ENG", referenced from:
      -[TweetsViewController readyStringToPlay:] in TweetsViewController.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status

Итак, я уже прочитал много предложений и попробовал большинство из них, не повезло.

Сначала я убедился, что у меня есть все мои фреймворки, затем попытался отредактировать файл project.pbxproj, но он все еще не работал.

Я попытался очистить и изменить настройки сборки.

У кого-нибудь есть идеи, почему я получаю это сообщение об ошибке?

1 Ответ

5 голосов
/ 19 сентября 2011

Вероятно, вы связываете свой проект i386 со сборкой из библиотеки NeoSpeech / lib-i iphoneos / libvt_eng_julie.a. Вот что означает предупреждение.

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

Удачи.

...