簡體   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