我需要在我的 Android Studio 项目中包含 Eigen 库来执行一些线性代数运算并使用我为桌面开发的一些 C++ 代码。我一直在寻找有关此主题的信息,但没有太多,而且我是 Android NDK 的新手。 Eigen 库不需要编译,所以我认为这很容易,但我错过了一些东西。我尝试将 Eigen 文件夹(其中包含所有包含内容)复制到 NDK 文件夹(..\Android\Sdk\ndk-bundle\sysroot\usr\include)中,其中还有其他外部库(例如 GLES),但是Android Studio 检测不到它。我该怎么做??预先感谢您,我真的需要这个。
Edit 1:
正如你在这里看到的,包含了Eigen lib,但是当我编译项目时出现很多错误,我不知道为什么。有任何想法吗?
最后我达到了我的目标,我正在 Android 中使用 Eigen。如果您正在尝试在 Android 中使用 Eigen 库,我希望这对您有所帮助:
- 从官方网站下载 Eigen 库。
- Copy Eigen folder inside the zip you have downloaded in which are all the
headers (.h files) of the library and paste it on one folder of your choice
in the project. For example, i did it in:
../app/src/main/cpp
- 编辑 CMakeLists.txt,添加此行和 Eigen 文件夹的路径
在你的项目中:
include_directories(src/main/cpp/Eigen)
- 在真实设备(不在模拟器上运行)中启动应用程序以加载 Eigen
里面的头文件。
-
在您的 cpp 文件中包含 Eigen 标头并正常使用它们。例如:
#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 库的头文件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)