繁体   English   中英

在 Netbeans 中使用 Eigen 库

[英]Using Eigen Library in Netbeans

我在 C++ 中使用 Eigen 库。根据Eigen 文档

为了使用 Eigen,您只需要下载并提取 Eigen 的源代码(下载说明参见 wiki)。 事实上,Eigen 子目录中的 header 个文件是使用 Eigen 编译程序所需的唯一文件。 header 文件对于所有平台都是相同的。 没有必要使用 CMake 或安装任何东西。

所以在 Netbeans 中,我将 Eigen 的目录添加到“包含目录”中。 然后我使用了一个简单的程序,如下所示(在 Eigen 文档中提供):

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

using namespace std;
using namespace Eigen;

int main()
{
   Matrix3f A;
   Vector3f b;
   A << 1,2,3,  4,5,6,  7,8,10;
   b << 3, 3, 4;
   cout << "Here is the matrix A:\n" << A << endl;
   cout << "Here is the vector b:\n" << b << endl;
   Vector3f x = A.colPivHouseholderQr().solve(b);
   cout << "The solution is:\n" << x << endl;
}

Netbeans 为 colPivHouseholderQr() 方法绘制红色下划线。! 另外我在object A上可以调用的方法下看不到colPivHouseholderQr()方法。

令人惊讶的是,尽管我为 colPivHouseholderQr() 设置了红色下划线,但一切正常并且程序编译和运行正确!

我的配置有什么问题??

在此处输入图像描述

问题是colPivHouseholderQr()在 QR 模块中,但您只包含 Dense 模块。

尝试添加以下内容:

#include <Eigen/QR>

参见: http: //eigen.tuxfamily.org/api/group_QR_Module.html

这是使用 Eigen 时在 Netbeans 中报告的问题

它无法解析许多 object 标识符,包括模板化对象的成员函数,例如您的colPivHouseholderQr() function。

我找到的最佳解决方案是改为使用Eclipse

抱歉 - 这更像是评论,但我无法发表评论 - 但您是否尝试删除缓存? 不知道 windows 但在 Ubuntu 中它通常位于 ~/.netbeans/7.0(或其他)/var/cache - 只需删除缓存目录下的所有内容。 有时这对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM