使用CMake时返回VTK_DIR-NOTFOUND。我正在使用CMake GUI,并且,作为其他路径错误,我可以指向正确的路径。但是,对于VTK来说并不起作用。我指的是VTConfig.cmake文件和其他文件所在的目录。也尝试了所有其他VTK目的但没有任何成功。我正在使用Visual Studio 12 2013 Win 64配置进行生成,但也尝试使用2010。
手动指向路径,
答案 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文件夹中找到。这是它在我的情况怎么解决。试试!!