1

我有一个代码库,可以在所有其他 NEON 编译器、ndk-build、RVDS 等中正常编译,但在 Xcode 下,我调用的每条 NEON 指令都会出现错误“错误指令”。基本上似乎没有检测到NEON。

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

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

此外,所讨论的代码都包含在“.s”文件中定义的例程中——纯汇编。我没有使用内在方法调用。

似乎编译器正在对整个文件进行呕吐......

Unknown pseudo-op: .cpu

它列出了所有其他设置,例如 .fpu 等

这是我当前的设置:

基本编译器
(来源:wasteonline.net

LLVM 代码生成
(来源:wasteonline.net

LLVM 语言
(来源:wasteonline.net

4

2 回答 2

3

在我在上一个答案中提到的 as 工具结果证明我的语法也令人窒息之后,我意识到肯定还有其他事情发生。

我遵循了这篇文章底部的指南http://www.shervinemami.info/armAssembly.html#template

我需要做的改变是:

  1. 将我的指令转换为全部小写
  2. 使用命名指令与 mach-o 兼容(解决了链接器问题)
于 2012-05-08T22:12:55.243 回答
1

尝试使用 GCC4.2。我解决了一个非常相似的问题,切换到旧的、好的 GCC。

在 Build Settings -> Compiler for C/C++/Objective-C 中,选择 GCC

实际上,如果您检查 LLVM ARM 状态页面,您会发现它还不能解析 .S 文件。

于 2012-05-07T14:33:08.330 回答