[英]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>
这是使用 Eigen 时在 Netbeans 中报告的问题。
它无法解析许多 object 标识符,包括模板化对象的成员函数,例如您的colPivHouseholderQr()
function。
我找到的最佳解决方案是改为使用Eclipse 。
抱歉 - 这更像是评论,但我无法发表评论 - 但您是否尝试删除缓存? 不知道 windows 但在 Ubuntu 中它通常位于 ~/.netbeans/7.0(或其他)/var/cache - 只需删除缓存目录下的所有内容。 有时这对我有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.