Cmake 在openVR中使用vtk

Cmake 在openVR中使用vtk,cmake,sdl-2,vtk,htc-vive,openvr,Cmake,Sdl 2,Vtk,Htc Vive,Openvr,我正在尝试在HTC Vive设备上使用VTK 7.1.1和OpenVR。我已经使用CMake 3.3.0配置了VTK,并使用Visual Studio 2012构建了其解决方案。但是,当我试图通过CMake为VTK-7.1.1/Rendering/OpenVR中的示例文件生成解决方案时,它给出了以下错误: 找不到“OpenVR”提供的具有以下任何名称的包配置文件: OpenVRConfig.cmake openvr-config.cmake 除此之外,CMake坚持手动设置openvr\u d

我正在尝试在HTC Vive设备上使用VTK 7.1.1和OpenVR。我已经使用CMake 3.3.0配置了VTK,并使用Visual Studio 2012构建了其解决方案。但是,当我试图通过CMake为
VTK-7.1.1/Rendering/OpenVR
中的示例文件生成解决方案时,它给出了以下错误:

找不到“OpenVR”提供的具有以下任何名称的包配置文件:

OpenVRConfig.cmake
openvr-config.cmake
除此之外,CMake坚持手动设置
openvr\u dir
路径,但不接受指向具有所需内容的
openvr\u master
文件夹的路径


如何修复此问题?

通常会看到一条消息,抱怨启用OpenVR支持后第一次运行cmake gui时未找到
OpenVRConfig.cmake
。应该出现一个新的缓存变量,
OPENVR\u ROOT\u DIR
。将其指向包含的目录。我不知道openvr\u dir来自哪里。您可以看到CMake如何使用
OPENVR\u ROOT\u DIR
查找库并包含相对于SDK根的路径


另外,您认为cmake“不接受指向
openvr\u master
文件夹的路径点”是什么意思?它是否继续抱怨OpenVR丢失了?将
OPENVR\u ROOT\u DIR
重置为
NOTFOUND
?还有什么?

通常会看到一条消息,抱怨启用OpenVR支持后第一次运行cmake gui时未找到
OpenVRConfig.cmake
。应该出现一个新的缓存变量,
OPENVR\u ROOT\u DIR
。将其指向包含的目录。我不知道openvr\u dir来自哪里。您可以看到CMake如何使用
OPENVR\u ROOT\u DIR
查找库并包含相对于SDK根的路径


另外,您认为cmake“不接受指向
openvr\u master
文件夹的路径点”是什么意思?它是否继续抱怨OpenVR丢失了?将
OPENVR\u ROOT\u DIR
重置为
NOTFOUND
?还有什么吗?

是的,我在启用OPENVR支持后设置了OPENVR\u ROOT\u DIR、OPENVR\u HEADERS\u ROOT\u DIR、OPENVR\u INCLUDE\u DIR、OPENVR\u库路径。我还按照你的建议浏览了FindOpenVR.cmake,但似乎一切都正常。cmake继续抱怨CMakeLists.txt:6(find\u包):没有提供cmake_模块_路径中的“FindOpenVR.cmake”此项目已要求cmake查找“OpenVR”提供的包配置文件,但cmake未找到。找不到“OpenVR”提供的具有以下任何名称的包配置文件:OpenVRConfig.cmake OpenVR-config.cmake添加“OpenVR”的安装前缀“要创建前缀路径或将“OpenVR\u DIR”设置为包含上述文件之一的目录。@anushakamath尝试在VTK的第67行添加
消息(“在${libdir},root dirs${root\u dirs}中查找库”)
。库目录是否与您的体系结构匹配并包含openvr_api共享库/dll?报告的根目录列表是否包含
headers/openvr\u driver.h
文件?感谢您的建议@Drone2537!!报告的根目录指向具有openvr_driver.h的文件夹,但未设置_libdir,因此,它的值没有显示在您建议的语句中。在第一次启用OPENVR支持后,我已将OPENVR_库设置为指向OPENVR_api.lib。请告诉我可能出了什么问题?FindOpenVR.cmake中的变量OPENVR_LIBRARY_TEMP保留指向OPENVR_api的路径。libYes,我已设置OPENVR_ROOT_DIR,启用OPENVR支持后,OPENVR\u头文件\u根目录\u目录,OPENVR\u包含目录,OPENVR\u库路径。我也按照你的建议浏览了FindOpenVR.cmake,但一切似乎都在那里..cmake继续在CMakeLists.txt:6(find\u包)抱怨cmake错误:没有提供“FindOpenVR.cmake”在CMAKE_模块_路径中,该项目要求CMAKE找到“OpenVR”提供的包配置文件,但CMAKE没有找到。找不到“OpenVR”提供的具有以下任何名称的包配置文件:OpenVRConfig.cmake OpenVR-config.cmake将“OpenVR”的安装前缀添加到cmake_prefix_路径,或将“OpenVR_DIR”设置到包含上述文件之一的目录。@anushakamath尝试添加
消息(“在中查找库”)${u libdir},根目录${u root\u dirs}”)
在VTK的第67行。库目录是否与您的体系结构匹配,是否包含openvr\u api共享库/dll?报告的根目录列表是否包含
头/openvr\u driver.h
文件?感谢您的建议@Drone2537!!报告的根目录指向包含openvr\u driver.h的文件夹。但是\u libdir不是设置,因此它的值不会显示在您建议的语句中。在第一次启用OPENVR支持后,我已将OPENVR_库设置为指向OPENVR_api.lib。请告诉我可能出了什么问题?FindOpenVR.cmake中的变量OPENVR_LIBRARY_TEMP保留指向OPENVR_api.lib的路径