簡體   English   中英

CMake:如何設置VTK_DIR?

[英]CMake: how to set VTK_DIR?

這是我的CMakeLists.txt一部分

set (VTK_DIR "/usr/include/vtk-5.8")

find_package(VTK REQUIRED)
include(${VTK_USE_FILE})
IF(VTK_FOUND)
  message("found VTK. Version:" ${VTK_VERSION}. VTK_DIR: ${VTK_DIR})
ELSE(VTK_FOUND)
  MESSAGE(FATAL_ERROR
    "Cannot build the executable without VTK. Please set the                                                                                                   
VTK_DIR")
ENDIF(VTK_FOUND)

cmake . 告訴我:

發現了VTK。 版本:6.0.0.VTK_DIR:/usr/local/lib/cmake/vtk-6.0

在命令行中提供VTK_DIR也無濟於事:

cmake -DVTK_DIR:PATH=/usr/include/vtk-5.8 .

仍然cmake在/usr/local/lib/cmake/vtk-6.0查找VTK。

這有什么不對?

VTK_DIR是一個緩存變量,它在CMake調用中保持其狀態。 您可以從命令行或通過其中一個CMake GUI界面進行設置。

或者,如果您確定要從CMake文件本身強制它,則可以使用以下語法:

SET(VTK_DIR "/usr/include/vtk-5.8" CACHE PATH "VTK directory override" FORCE)

你應該使用NO_MODULE選項調用find_package,

find_package(VTK REQUIRED NO_MODULE)

這將迫使CMake跳過查找模塊,這對於許多版本來說並不是必需的。 您還需要將CMake指向VTKConfig.cmake文件的位置,而不是C ++標頭。 例如,將CMAKE_PREFIX_PATH設置為/ usr / local將在任何其他路徑之前進行CMake檢查/ usr / local。 如果你的VTKConfig.cmake安裝在/ usr前綴中,那么配置文件可能在/usr/lib/cmake/vtk-5.8中,VTK_DIR也應該設置為。

你需要的是帶VTKConfig.cmake VTK 安裝子目錄 或者, 構建目錄也可以工作。

正如彼得所建議的那樣,試試:

SET(VTK_DIR "/usr/include/vtk-5.8/XXX" CACHE PATH "VTK directory override" FORCE)

並將其指向您擁有VTKConfig.cmake的文件夾。

你可以安裝cmake-qt-gui - 你可以使用GUI輕松輸入所需的路徑。 如果它不使用您輸入的路徑,則表示這不是它想要的路徑(參見上文)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM