【问题标题】:Link error- missing required architecture i386 in file-symbols not found链接错误-找不到文件符号中所需的体系结构 i386
【发布时间】:2011-09-15 08:46:04
【问题描述】:

我正在开发一个使用 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,但仍然没有工作。

我已尝试清理和更改构建设置。

有人知道为什么我会收到此错误消息吗?

【问题讨论】:

    标签: c linker ld i386 armv6


    【解决方案1】:

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

    如果您有 i386 版本(如果此库),则更改您的链接器设置以指向该版本。如果你没有这个lib的i386版本,那你得从作者那里得到它,或者如果你有源代码,你自己编译它。

    祝你好运。

    【讨论】:

    • 你如何编译 i386 版本的源代码?我需要在 XCode 中进行哪些设置?在此先感谢...
    • 你有这个库的源代码和 XCode 项目吗?如果是,那么您需要构建模拟器目标。如果你从某个地方获得了这个库,那么你可能可以在同一个地方获得 i386 版本。
    猜你喜欢
    • 2012-07-18
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多