我需要在我的 Android Studio 项目中包含 Eigen 库来执行一些线性代数运算并使用我为桌面开发的一些 C++ 代码。我一直在寻找有关此主题的信息,但信息不多,而且我是 Android NDK 的新手。 Eigen 库不需要编译,所以我认为这很容易,但我遗漏了一些东西。我试图将 Eigen 文件夹(包含所有包含)复制到 NDK 文件夹(..\Android\Sdk\ndk-bundle\sysroot\usr\include),其中还有其他外部库(例如 GLES)但是Android Studio 没有检测到它。我该怎么做??提前谢谢你,我真的需要这个。
最佳答案
我终于达到了我的目标,我在 Android 中使用 Eigen。如果您正在尝试在 Android 中使用 Eigen 库,我希望这对您有所帮助:
- 从官方网站下载 Eigen 库。
- 复制你下载的 zip 里面的 Eigen 文件夹,里面有所有的
库的 header (.h 文件)并将其粘贴到您选择的一个文件夹中
在项目中。例如,我是这样做的:
../app/src/main/cpp
- 编辑 CMakeLists.txt,将这一行添加到 Eigen 文件夹的路径
在你的项目中:
include_directories(src/main/cpp/Eigen)
- 在真实设备(不在模拟器上运行)中启动应用程序以加载 Eigen 里面有头文件。
在您的 cpp 文件中包含 Eigen header 并正常使用它们。例如:
#include "Eigen/Dense" void multiply2Matrices(){ Eigen::MatrixXd M(2,2); Eigen::MatrixXd V(2,2); for (int i = 0; i<=1; i++){ for (int j = 0; j<=1; j++){ M(i,j) = 1; V(i,j) = 2; } } Eigen::MatrixXd Result = M*V; }
在我的例子中,我不需要编译任何东西,只需要使用官方 Eigen 库的头文件
关于android - 将 Eigen 库添加到 Android NDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48317701/