CMake VTK_DIR-NOTFOUND

时间:2016-01-31 08:41:23

标签: cmake vtk

使用CMake时返回VTK_DIR-NOTFOUND。我正在使用CMake GUI,并且,作为其他路径错误,我可以指向正确的路径。但是,对于VTK来说并不起作用。我指的是VTConfig.cmake文件和其他文件所在的目录。也尝试了所有其他VTK目的但没有任何成功。我正在使用Visual Studio 12 2013 Win 64配置进行生成,但也尝试使用2010。

enter image description here

手动指向路径,

enter image description here

3 个答案:

答案 0 :(得分:6)

我要检查的第一件事是在发生错误的地方调用的实际find_package()命令是什么?也许该调用有点不寻常或明确具有MODULE关键字(这会阻止找到VTKConfig.cmake文件。)

如果看起来没问题,请检查是否有东西正在修改VTK_DIR变量。在最顶部的CMakeLists.txt文件顶部附近插入以下内容:

variable_watch(VTK_DIR)

这应该告诉你什么,如果有的话,以你没想到的方式修改它。

假设VTK_DIR实际上没有被更改,您可以尝试的下一件事是将CMAKE_PREFIX_PATH设置到包含VTKConfig.cmake文件的目录(如果它不是,则可以在CMake GUI中添加它)。已经存在)。也许也尝试variable_watch(CMAKE_PREFIX_PATH),以防万一在内部意外修改也是如此。

如果仍然没有显示任何内容,那么您的CMake或VTK安装可能会出现问题。也许尝试更早的CMake版本,看看你是否有任何不同的行为。

答案 1 :(得分:3)

虽然目前接受的答案是一种很好的调试方式,但看起来您正在使用unancyowen的二进制文件构建Point Cloud Library(PCL)。在这种情况下,我建议确保您的system environment variables are setup correctly自动执行您当前正在进行的过程,并促进find_package()方法的工作。 假设您已将所有内容安装在同一目录中(即您已链接到FLANN和Eigen的位置),则应将以下默认PCL第三方库添加到路径中:

C:\ Program Files \ PCL 1.7.2 \ 3rdParty \ FLANN \ bin

C:\ Program Files \ PCL 1.7.2 \ 3rdParty \ VTK \ bin

C:\ Program Files \ PCL 1.7.2 \ 3rdParty \ Eigen

C:\ Program Files \ PCL 1.7.2 \ 3rdParty \ Boost

然后单独安装Qt,OpenNI等。

您还可以添加:

BOOST_INCLUDEDIR:C:\ Program Files \ PCL 1.7.2 \ 3rdParty \ Boost \ include \ boost-X_XX \ boost(将X_XX替换为您的版本号)

BOOST_LIBRARYDIR:C:\ Program Files \ PCL 1.7.2 \ 3rdParty \ Boost \ lib

BOOST_ROOT:C:\ Program Files \ PCL 1.7.2 \ 3rdParty \ Boost

EIGEN_ROOT:C:\ Program Files \ PCL 1.7.2 \ 3rdParty \ Eigen

答案 2 :(得分:0)

在显示该字段的地方

  

VTK-目录:未找到

您可以复制粘贴位置或输入内容,或仅浏览名为VTKConfig.cmake的文件。通常在VTK的build文件夹中找到。这是它在我的情况怎么解决。试试!!