如何在C++程序中使用Eigen?

skm*_*skm -7 c++ eigen

我阅读了Eigen 安装的文档。根据文档,您的项目中只需要引用头文件。如下图所示,我将 Eigen 的路径包含在包含目录中,但程序无法识别 Eigen。

在此输入图像描述

示例代码

#include <iostream>
#include <Eigen/Dense>

using Eigen::MatrixXd;

int main()
{
    MatrixXd m(2, 2);
    m(0, 0) = 3;
    m(1, 0) = 2.5;
    m(0, 1) = -1;
    m(1, 1) = m(1, 0) + m(0, 1);
    std::cout << m << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

如何正确地将 Eigen 包含到我的 C++ 项目中?

Tho*_*mas 7

您添加path/to/eigen-3.4.0/Eigen到包含路径,但随后包含 header Eigen/Dense,因此这会查找path/to/eigen-3.4.0/Eigen/Eigen/Dense. 这实在是Eigen太多了。

将包含路径设置path/to/eigen-3.4.0为。

(不要试图修改 include 来#include <Dense>代替。这可能会导致 Eigen 无法找到自己的标头,并且还很容易导致命名冲突。)