using eigen with android ndk

using eigen with android ndk

本文关键字:ndk android with eigen using      更新时间:2023-10-16

是否有人使用ndk成功导入了特征库?我在考虑用它来做我正在做的一个应用程序的所有数学矩阵运算。我发现有几个人在一些论坛上提到它,但除了我不知道他们是否成功地让它工作的事实,我读的大多数论坛开始提到一些与霓虹代码.....相关的错误我以前也没碰过。

如果有人能告诉我如何使用ndk编译现有库(如eigen)的教程,那将是真正有帮助的。这样以后我就可以自己做了。我刚刚发现这个:http://code.google.com/p/android-cmake/,并想尝试实现它自己,但不知道从哪里开始。显然,我前面有一些半密集的阅读,所以我要开始了,但如果有人能跳出来帮助编译本地库以使用ndk,我会非常感激。

我以前从未使用过Android NDK,我使用Eigen进行物理中的数值计算。

Eigen是唯一的头,所以你可以把它放在任何你喜欢的地方。你只需要设置包含路径到那个文件夹(可能在你的Android中)。可)。如果您不需要Eigen中不支持的库,那么您只需要"Eigen"文件夹。其余部分仅用于文档和测试。在简短地看了一下文档之后,我认为您可以使用

实现这一点。
LOCAL_C_INCLUDES := path/to/eigen

inside your Android.mk

一个快速而肮脏的解决方案是将Eigen扔到'jni'文件夹中。但这只有在所有使用本征的源都在的情况下才有效。这样你就不用编辑你的Android.mk.

我更喜欢将特征头文件放在Eclipse工作区之外,就像stl等一样。为此,解压缩您的Eigen下载并将文件夹"Eigen"复制到您选择的目录:

/用户/foo/图书馆/特征/特征

然后,在项目的Android中。mk文件,告诉ndk-build Eigen包含文件的位置:

LOCAL_C_INCLUDES +=/Users/foo/libraries/eigen

此处不要引用实际的"Eigen"文件夹,引用它上面的文件夹,否则include将不起作用。最后,告诉eclipse索引器包含的内容:

右键单击项目-> Properties -> C/c++ General -> Paths and Symbols -> Includes -> GNU c++ -> Add…-> File System…->再次指向/Users/foo/libraries/eigen