2013-04-15 104 views
0

我嘗試學習如何使用realityGrid,所以我使用cmake來構建一些示例。在完成使用ccmake命令後,我嘗試使用make命令。但我是得到了錯誤:/usr/bin/ld:找不到-lvtkCommon

/usr/bin/ld: cannot find -lvtkCommon 
/usr/bin/ld: cannot find -lvtkFiltering 
/usr/bin/ld: cannot find -lvtkGraphics 
/usr/bin/ld: cannot find -lvtkImaging 
/usr/bin/ld: cannot find -lvtkIO 
/usr/bin/ld: cannot find -lvtkRendering 

我發現libvtkCommon.a在/usr/lib/vtk-5.10。我該怎麼辦?謝謝你。

+0

我試圖將所有缺少的lib文件移動到/ usr/lib,然後找到了這些庫,但所有的方法似乎都是未定義的:未定義的引用vtkPlane :: New()。 – Juneyee

+0

你真的不應該像這樣移動圖書館。這有可能打破其他應用程序。問題是正確獲取你的庫路徑。 – jszakmeister

回答

0

你需要告訴您需要的VTK模塊CMake的。我沒有用CMake的不多,但我相信你所需要的線是一樣的東西:

find_package(VTK REQUIRED NO_MODULE) 
include(${VTK_USE_FILE}) 

如果不工作,你很可能回落到是這樣的:

set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /usr/lib/vtk-5.10) 

關於最後一行的不好之處在於它不能很好地適應版本略有不同的其他環境。

+0

cmake部分由某人esle完成。運行cmake命令後,有一個名爲VTK_DIR的變量,它已被設置爲/usr/lib/vtk-5.10。 – Juneyee

+0

你在爲VTK的正確版本構建嗎?換句話說,一個版本的標題是否正在嘗試鏈接到不同的版本?也許6.x和5.x? – jszakmeister