无法在 XCode 中编译 NEON 内在函数 header
cannot get NEON intrinsics header to compile in XCode
我有一些使用 NEON 内在函数的 C++ 代码。根据我的阅读,您需要做的就是将 arm_neon.h 包含到您的项目中。然后我读到这个 arm_neon.h header 实际上并不能自动自动提供给您,您有从网上获取它。所以我找到了这个版本并将其添加到我的项目中:
http://clang.llvm.org/doxygen/arm__neon_8h-source.html
在我项目的prefix.pch中我添加了:
#import "arm_neon.h"
当我尝试在我的 iPhone6 设备上构建时(我没有使用模拟器),我在 arm_neon.h 文件中遇到了十亿个错误:
任何人都可以向我解释一下我在这里缺少什么吗?
您误以为可以从 Internet 上获取 arm_neon.h
。通常 header 不仅是特定于编译器的,而且是特定于编译器版本(甚至是编译器修订版)的。对于 GCC,它依赖于许多内置函数调用的编译器,并且从您的 Clang 屏幕截图来看,那里也有同样的情况。如您所料,如果这些 internal-only 函数的名称发生变化,header 将无法编译。
令我吃惊的是,您无法使用构建环境附带的 arm_neon.h
中的任何一个。我唯一能想到的就是构建命令试图为 x86_64 (对于模拟器)构建,但你说这不是正在发生的事情。可能值得再检查一次构建设置。
如果您仍然没有取得任何进展,请记住 arm_neon.h
有时被视为一个系统 header,因此在 C++ 中您可能需要 #include <arm_neon.h>
而不是 #include "arm_neon.h"
让编译器搜索系统路径。
我有一些使用 NEON 内在函数的 C++ 代码。根据我的阅读,您需要做的就是将 arm_neon.h 包含到您的项目中。然后我读到这个 arm_neon.h header 实际上并不能自动自动提供给您,您有从网上获取它。所以我找到了这个版本并将其添加到我的项目中:
http://clang.llvm.org/doxygen/arm__neon_8h-source.html
在我项目的prefix.pch中我添加了:
#import "arm_neon.h"
当我尝试在我的 iPhone6 设备上构建时(我没有使用模拟器),我在 arm_neon.h 文件中遇到了十亿个错误:
任何人都可以向我解释一下我在这里缺少什么吗?
您误以为可以从 Internet 上获取 arm_neon.h
。通常 header 不仅是特定于编译器的,而且是特定于编译器版本(甚至是编译器修订版)的。对于 GCC,它依赖于许多内置函数调用的编译器,并且从您的 Clang 屏幕截图来看,那里也有同样的情况。如您所料,如果这些 internal-only 函数的名称发生变化,header 将无法编译。
令我吃惊的是,您无法使用构建环境附带的 arm_neon.h
中的任何一个。我唯一能想到的就是构建命令试图为 x86_64 (对于模拟器)构建,但你说这不是正在发生的事情。可能值得再检查一次构建设置。
如果您仍然没有取得任何进展,请记住 arm_neon.h
有时被视为一个系统 header,因此在 C++ 中您可能需要 #include <arm_neon.h>
而不是 #include "arm_neon.h"
让编译器搜索系统路径。