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 的构建文件夹中找到。这就是它在我的案例中解决的方式。试试吧!!
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 的构建文件夹中找到。这就是它在我的案例中解决的方式。试试吧!!