CMake VTK_DIR-NOTFOUND

CMake VTK_DIR-NOTFOUND

使用CMake时返回

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

手动指向路径,

我要检查的第一件事是在发生错误的地方实际调用的 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 版本,看看是否有任何不同的行为。

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

C:\程序Files\PCL1.7.2rdParty\FLANN\bin

C:\程序Files\PCL1.7.2rdParty\VTK\bin

C:\程序Files\PCL1.7.2rdParty\Eigen

C:\程序Files\PCL1.7.2rdParty\Boost

然后是单独安装的Qt、OpenNI等

您还可以添加:

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

BOOST_LIBRARYDIR : C:\程序 Files\PCL 1.7.2rdParty\Boost\lib

BOOST_ROOT : C:\程序 Files\PCL 1.7.2rdParty\Boost

EIGEN_ROOT : C:\程序 Files\PCL 1.7.2rdParty\Eigen

在显示

的字段中

VTK - DIR : NOT FOUND

您可以复制粘贴位置或输入,或者只浏览名为 VTKConfig.cmake 的文件。通常可以在 VTK 的构建文件夹中找到。这就是它在我的案例中解决的方式。试试吧!!