如何在Unreal Engine中使用第三方库Eigen?

How can I use the third party library, Eigen, in Unreal Engine?

我正在开发 UE4 插件并想使用 Eigen 库。貌似UE4已经集成了库,可以在Engine>Source>ThirdParty>Eigen中看到。

我查看了其他插件,例如 AlembicImporter,以寻求指导。要使用 Eigen,我看到他们在 build.cs 文件中添加 "Eigen" 并在使用 Eigen 的源文件中写入 #include <Eigen/...>,其中 ... 可以是 Dense、SVD,稀疏等

我试过了,但是当我构建我的项目时,我得到了错误

fatal error: 'Eigen/Dense' file not found

(同样,我尝试使用任何 Eigen/... 时都会出错)

看起来预构建的 UE4 不包含“已编译”Eigen headers(“Dense”、“Sparse”等),尽管它确实包含 Eigen“src”文件夹。

如果您从源代码编译您的引擎,您应该在 ThirdParty 文件夹中安装完整的 Eigen。然后您可以像使用各种引擎插件一样使用它。但是从源代码编译 Unreal 有点痛苦,而且需要很多硬盘 space。这也会阻止您以源代码形式分发您的插件,因为普通用户不会使用 Eigen。

在您的插件中包含 Eigen 的本地副本可能是最简单的 - 它只是 headers,因此您可以在 build.cs.[=10= 中仅使用私有包含路径来包含它]