在 vk_chopper 上使用 cmake 时出错
Posted
技术标签:
【中文标题】在 vk_chopper 上使用 cmake 时出错【英文标题】:Error when using cmake on vk_chopper 【发布时间】:2017-05-29 20:04:27 【问题描述】:所以,我想在 ubuntu 16.10 上安装 Vulkan。 我决定关注这个guide
不幸的是,在第 9 步到达 Choppa 时,我遇到了一个错误。
cmake .. 对我不起作用;这就是发生的事情
日志
ra141@ra141:~$ cd ~/vulkan ra141@ra141:~/vulkan$ cd gl_vk_chopper ra141@ra141:~/vulkan/gl_vk_chopper$ cd build ra141@ra141:~/vulkan/gl_vk_chopper/build$ rm -rf ./* ra141@ra141:~/vulkan/gl_vk_chopper/build$ export VK_SDK_PATH=/home/ra141/vulkan/VulkanSDK ra141@ra141:~/vulkan/gl_vk_chopper/build$ cmake .. -- C 编译器标识为 GNU 6.2.0 -- CXX 编译器标识为 GNU 6.2.0 -- 检查工作的 C 编译器:/usr/bin/cc -- 检查工作的 C 编译器:/usr/bin/cc -- 工作 -- 检测 C 编译器 ABI 信息 -- 检测 C 编译器 ABI 信息 - 完成 -- 检测 C 编译特性 -- 检测 C 编译特性 - 完成 -- 检查工作的 CXX 编译器:/usr/bin/c++ -- 检查工作的 CXX 编译器:/usr/bin/c++ -- 工作 -- 检测 CXX 编译器 ABI 信息 -- 检测 CXX 编译器 ABI 信息 - 完成 -- 检测 CXX 编译特性 -- 检测 CXX 编译特性 - 完成
-- 处理项目 gl_vk_chopper: -- BASE_DIRECTORY = /home/ra141/vulkan/gl_vk_chopper/.. -- CMAKE_CURRENT_SOURCE_DIR = /home/ra141/vulkan/gl_vk_chopper -- 在 /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so 中寻找 XOpenDisplay -- 在 /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so 中寻找 XOpenDisplay - 找到 -- 寻找 gethostbyname -- 寻找 gethostbyname - 找到 -- 寻找连接 -- 寻找连接 - 找到 -- 寻找删除 -- 寻找删除 - 找到 -- 寻找 shmat -- 寻找 shmat - 找到 -- 找到 X11:/usr/lib/x86_64-linux-gnu/libX11.so -- 找到 OpenGL:/usr/lib/x86_64-linux-gnu/libGL.so -- 找到 GLEW:/home/ra141/vulkan/shared_sources/glew/include -- 找不到 GLFW(缺少:GLFW_INCLUDE_DIR GLFW_LIBRARY) -- 找到 Glew 源代码。使用它而不是库 -- VulkanSDK 搜索路径: -- VulkanSDK 版本: /home/ra141/vulkan/shared_sources/cmake/FindVulkanSDK.cmake:133 处的 CMake 警告(消息):
VULKANSDK not found.
either env. VK_SDK_PATH should be set directly to the right version to use (C:\VulkanSDK\1.0.1.1)
or you can specify in cmake VULKANSDK_LOCATION to the folder where VulkanSDK versions are put (C:\VulkanSDK)
调用堆栈(最近调用优先): /home/ra141/vulkan/shared_sources/CMakeLists_include.txt:341 (find_package) CMakeLists.txt:44 (_add_package_VulkanSDK)
-- Vulkan 根目录:VULKANSDK_ROOT_DIR-NOTFOUND -- Vulkan 包括:VULKANSDK_INCLUDE_DIR-NOTFOUND -- Vulkan 库:VULKAN_LIB-NOTFOUND -- 找不到 VULKANSDK(缺少:VULKANSDK_INCLUDE_DIR VULKAN_LIB) -- --> 不使用包 VulkanSDK -- --> 使用包 AntTweakBar -- 找到 ANTTWEAKBAR:/usr/include CMake 错误:此项目中使用了以下变量,但它们设置为 NOTFOUND。 请设置它们或确保它们在 CMake 文件中正确设置和测试: X11_Xcursor_LIB(高级) 由目录 /home/ra141/vulkan/gl_vk_chopper 中的目标“gl_vk_chopper”链接 由目录 /home/ra141/vulkan/gl_vk_chopper 中的目标“gl_vk_chopper”链接 由目录 /home/ra141/vulkan/shared_sources 中的目标“shared_sources”链接 X11_Xinerama_LIB(高级) 由目录 /home/ra141/vulkan/gl_vk_chopper 中的目标“gl_vk_chopper”链接 由目录 /home/ra141/vulkan/gl_vk_chopper 中的目标“gl_vk_chopper”链接 由目录 /home/ra141/vulkan/shared_sources 中的目标“shared_sources”链接
-- 配置不完整,出现错误! 另请参阅“/home/ra141/vulkan/gl_vk_chopper/build/CMakeFiles/CMakeOutput.log”。 ra141@ra141:~/vulkan/gl_vk_chopper/build$
请帮忙?
【问题讨论】:
你做了错误要求的事情吗?设置VK_SDK_PATH
或将VULKANSDK_LOCATION
传递给CMake?
我实际上不知道该怎么做。那我该怎么做。是export VK_SDK_PATH=/path/to/vulkan/SDK.根据 ivan_onys 的建议
您安装了哪个版本的 Vulcan?您需要将其指向那里并按照@ivan_onys 的说明进行操作,或者您可以将其直接传递给 CMake,如 cmake .. -DVULKAN_LOCATION=/path/to/Vulkan/SDK
【参考方案1】:
在运行cmake之前,运行以下命令export VK_SDK_PATH=/path/to/vulkanSDK/version
注意,应该是完整路径(以/开头)
小心从build
文件夹运行 cmake ..。从日志中,您似乎从 build
文件夹的子文件夹开始 cmake。更好的是,在重新运行 cmake 之前清理它:
cd build
rm -rf ./*
cmake ..
【讨论】:
首先感谢您的快速回复。所以我有一个名为 VulkanSDK 的文件夹,它是在执行 vulkansdk.runfile 时创建的。所以正如你所说,我跑了 export ra141@ra141:~/vulkan/gl_vk_chopper/build$ export VK_SDK_PATH=/home/ra141/vulkan/VulkanSDK ra141@ra141:~/vulkan/gl_vk_chopper/build$ cmake .. 但我仍然得到同样的错误。 我清理了构建文件夹并按照你说的做了,但仍然没有帮助,我按问题编辑以显示我做了什么。 我的错误:错误消息说 VK_SDK_PATH 必须指向特定的 Vulkan SDK 版本。 VulkanSDK 内应该有文件夹。让 VK_SDK_PATH 指向该文件夹,如果有帮助,请告诉我。以上是关于在 vk_chopper 上使用 cmake 时出错的主要内容,如果未能解决你的问题,请参考以下文章
从源代码安装 qiskit-aer 时出现 CMake 错误