2013-05-17 87 views
0

我已經下載了一個工具包(即帝國學院的IRTK),我已經使用CMake編譯並安裝了它。包含在.cc文件中的cpp對象的超類不是頭文件

作爲安裝的一部分,它複製了所有相關的頭文件到/ usr /本地/包括

我想用類從這個工具包,所以我包括在/ usr /本地相關的頭文件/包括例如irtkFileVTKToImage.h,但是該類繼承自超類irtkFileToImage,並且超類的包含發生在irtkFileVTKToImage.cc中,而不是發生在irtkFileVTKToImage.h中。

這意味着,當我嘗試包括類我得到一個編譯錯誤

error: unknown class name 'irtkFileToImage'

我應該怎麼做才能夠使用這些頭文件。我沒有編寫這個工具包,所以通過添加所有包含到頭文件可能需要很長時間,有沒有更簡單的方法來做到這一點?

------ UPDATE ------

由於各地我已經包含了工具包源在我的項目全部,現在我的代碼編譯罰款工作。不理想,但至少它工作

+0

你能粘貼代碼段嗎?你是否喜歡.cc? – Maresh

+0

是的,我可以,但它是一個非常大的工具包,需要很長時間才能通過並粘貼每個課程的內容。此外,我不得不閱讀這些課程,試圖找出每個包含哪些標題。我想知道是否有一些自動化的方式來做這件事,或者你可以在makefile或cmake中爲我做這件事? –

+0

編譯錯誤發生在哪裏?在鏈接或之前?你可以將整個編譯器輸出粘貼到pastebin或類似的東西上。 – Maresh

回答

0

我的猜測是,你應該編譯和使用工具包作爲一個庫,這樣你只需要包括你想在你自己的代碼中使用的最終類的頭。這會比試圖使用它更容易,因爲知道有很多依賴關係。

+0

這就是我一直在努力去做的。問題是,一旦它安裝了頭文件(放置在全局包含目錄中)都缺少它們的依賴關係,出於某種原因,依賴項被包含在.cc文件中。 相反,我已經在我的項目中包含了整個工具包源代碼,現在我可以運行我的代碼,但並不完全理想,但至少現在可以工作 –