我在C ++中使用Eigen库。根据{{3}}:
为了使用Eigen,你只需要下载并提取Eigen 源代码(有关下载说明,请参阅wiki)。事实上, Eigen子目录中的头文件是唯一需要的文件 使用Eigen编译程序。头文件对所有人来说都是一样的 平台。没有必要使用CMake或安装任何东西。
所以在Netbeans中我将Eigen目录添加到“include目录”中。然后我使用了一个简单的程序(在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()方法绘制了一个红色下划线!!另外,我无法在可以在对象A上调用的方法下看到colPivHouseholderQr()方法。
令人惊讶的是,一切正常并且程序编译并正确运行,尽管我对colPivHouseholderQr()有红色下划线!!
我的配置有什么问题?
答案 0 :(得分:1)
问题是colPivHouseholderQr()
在QR模块中,但您只包括密集模块。
尝试添加以下内容:
#include <Eigen/QR>
答案 1 :(得分:1)
这是reported problem in the Netbeans when using Eigen。
无法解析许多对象标识符,包括模板化对象的成员函数,例如colPivHouseholderQr()
函数。
我得到的最佳解决方案是改为使用Eclipse。
答案 2 :(得分:-1)
抱歉 - 这是一条评论,但我无法发表评论 - 但您是否尝试删除缓存?不知道windows,但在Ubuntu它通常在 〜/ .netbeans / 7.0(或其他)/ var / cache - 只删除缓存目录下的所有内容。有时这对我有用。