链接错误 - 缺少文件符号中未找到的架构i386

mat*_*mat 3 c linker ld i386 armv6

我正在开发一个使用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
Run Code Online (Sandbox Code Playgroud)

所以我已经阅读了很多建议,并尝试了大部分的运气.

我首先确保我拥有所有框架,然后我尝试编辑project.pbxproj,仍然无法正常工作.

我尝试过清理和更改构建设置.

任何人有任何想法,为什么我收到此错误消息?

Mig*_*uel 5

您可能正在将i386项目与库NeoSpeech/lib-i iphoneos/libvt_eng_julie.a的arm构建链接起来.这就是警告的意思.

如果您有此lib的i386版本,则将链接器设置更改为指向该版本.如果您没有此lib的i386版本,那么您必须从作者那里获取它,或者如果您有源代码则自己编译.

祝好运.