[英]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.