2

我有以下问题:libopencv_java.so使用 NDK6 从 OpenCV 2.3.1 编译的库在三星 Galaxy S 上运行良好,但在 Galaxy Tab 上运行良好。构建设置:

-MacOS X

-NDK6

- 用霓虹灯建造

该库似乎在 double->integer 转换时失败。

4

1 回答 1

1

Galaxy Tab 似乎使用 Nvidia Tegra 2 CPU。最近在 NDK 中修复了一个错误,该错误会为 Tegra 2 处理器生成与浮点指令相关的无效代码。这是来自 NDK r7c更改日志的引用:

此版本的 NDK 包括对基于 Tegra2 的设备的重要修复,以及一些额外的修复和改进:

重要的错误修复:修复了 GNU STL armeabi-v7a 二进制文件,使其不会在非 NEON 设备上崩溃。NDK r7b 提供的文件配置不正确,导致在尝试使用某些浮点函数(例如 cosf、sinf、expf)时在基于 Tegra2 的设备和其他设备上崩溃。

因此,请尝试使用至少 NDK r7c 重新编译 OpenCV。

于 2012-05-14T08:53:53.117 回答