在 NaCl 中使用 Neon 编译错误
Posted
技术标签:
【中文标题】在 NaCl 中使用 Neon 编译错误【英文标题】:Compile error using Neon in NaCl 【发布时间】:2014-01-28 18:34:33 【问题描述】:我添加了命令行设置“-mfpu=neon”,以便我可以使用 NEON 指令。
但这会导致一个奇怪的编译错误:
1>C:\Misc\nacl_sdk\vs_addin\examples\video_app\hello_world_gles\src\YUVBlock16x8.cpp(158,1): internal compiler error : in set_minipool_offset, at config/arm/arm.c:12961
1>
1> ^
1> libbacktrace could not find executable to open
如果我注释掉函数中的代码,它编译/链接成功。
但是,生成的 NaCl 模块不会加载到 ChromeBook 上。在控制台中我看到:
NativeClient:NaCl 模块加载失败:验证失败。文件违反了 Native Client 安全规则。
…
… Run sel_ldr in debug mode to ignore validation failure.
… Run ncval <module-name> for validation error details.
… reap logs
我还没有包含霓虹灯头或使用任何霓虹灯内部/组件。
C:\Misc\nacl_sdk\vs_addin\examples\video_app\hello_world_gles\NaClARM\newlib\Release>..\..\..\..\..\..\..\pepper_29\tools\ncval video_app_arm.nexe
有效。
【问题讨论】:
【参考方案1】:将优化标志从 -O3 更改为 -O2 修复了编译问题和验证问题。我的代码也稍微快了一点。
【讨论】:
以上是关于在 NaCl 中使用 Neon 编译错误的主要内容,如果未能解决你的问题,请参考以下文章
仅在使用设备 arm_neon.h 时 Xcode6 编译错误
为 ARM NEON 编译时出现未知的 GCC 错误(严重)
使用 vshr_n_u32 时,NEON 内在,编译错误“参数必须是常量”
未找到Android Studio NDK iostream文件,无法在CMakeList中启用neon