1

我有一个代码库,在 Xcode 下,我调用的每条 NEON 指令都会出现错误“错误指令”。基本上似乎没有检测到NEON。

我正在尝试构建一个静态库,我去了新项目,选择了 Cocoa Touch 静态库,然后添加了我现有的文件。

我正在阅读的所有内容都表明应该已经启用了 NEON。我删除了对 armv6 的所有引用,并以 iOS 5.1 为目标

此外,所讨论的代码都包含在“.s”文件中定义的例程中——纯汇编。我没有使用内部方法调用。这是我尝试运行代码时遇到的错误:

unknown directive .fpu neon
Command /Applications/Xcode.app/Contents/Developer/Toolchains/
XcodeDefault.xctoolchain /usr/bin/clang failed with exit code 1

同样,当我从代码中删除 .fpu neon 命令时,它会编译并获得 .o 文件,但由于我仍然无法使用代码文件中定义的程序,因此无法链接。

4

1 回答 1

0

试试我的类似问题的答案https://stackoverflow.com/a/10507325/571778

就我而言,排序答案是我从另一个编译器移植程序集。几点:

  • Xcode 需要所有小写指令
  • 伪操作不同(尝试http://www.shervinemami.info/armAssembly.html#template
  • 您必须以“_”开头您的汇编函数名称,因为这是链接器找到它们的方式(在 C 中,调用“foo()”,但在 ASM 中,您的函数名称为“_foo”)
于 2012-12-17T07:03:03.920 回答