当前位置: 首页 > news >正文

VulkanSamples编译记录

按照BUILD.md说明,先安装依赖项

sudo apt-get install git build-essential libx11-xcb-dev \libxkbcommon-dev libwayland-dev libxrandr-dev

然后创建一个新文件夹build,在该目录下更新依赖项

cd VulkanSamples
mkdir build
cd build
python ../scripts/update_deps.py

会生成vulkan loader和头文件,以及一个cmake文件,接下来执行

cmake -C helper.cmake ..
或者
cmake -DCMAKE_BUILD_TYPE=Debug \-DVULKAN_HEADERS_INSTALL_DIR=“注意修改路径” \-DVULKAN_LOADER_INSTALL_DIR=“注意修改路径” \-DCMAKE_INSTALL_PREFIX=install ..

提示 spirv-tools 安装不成功,因为原来的下载链接失效了

 可以从GitHub上手动下载SPIRV-Tools/docs/downloads.md at main · KhronosGroup/SPIRV-Tools · GitHub

然后把文件解压,拷到VulkanSamples/spirv-tools 目录下,再重新执行上面命令。

再进入VulkanSamples根目录下,执行make 或者 cmake --build 命令。

提示错误 draw_textured_cube 是一个目录,不能生成可执行文件,是因为文件和目录有重名。

可以改一下CMakeLists文件,换个名字,然后在重新执行make

--- a/API-Samples/CMakeLists.txt
+++ b/API-Samples/CMakeLists.txt
@@ -146,8 +146,8 @@ function(sampleWithSingleFile)set (sources ${sources} ${SAMPLE_NAME}2.frag.h)endif()endif()
-            add_executable(${SAMPLE_NAME} ${sources})
-            target_link_libraries(${SAMPLE_NAME} ${UTILS_NAME} ${XCB_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES} ${VULKAN_LOADER} ${PTHREAD})
+            add_executable(${SAMPLE_NAME}_c ${sources})
+            target_link_libraries(${SAMPLE_NAME}_c ${UTILS_NAME} ${XCB_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES} ${VULKAN_LOADER} ${PTHREAD})else()if (${SAMPLE_NAME} MATCHES spirv_assembly)assembly_to_spirv(${SAMPLE_NAME}.vert ${SAMPLE_NAME})
@@ -182,8 +182,8 @@ function(sampleWithSingleFile)set (sources ${sources} ${SAMPLE_NAME}2.frag.h)endif()endif()
-            add_executable(${SAMPLE_NAME} WIN32 ${sources})
-            target_link_libraries(${SAMPLE_NAME} ${UTILS_NAME} ${VULKAN_LOADER} ${WINLIBS})
+            add_executable(${SAMPLE_NAME}_c WIN32 ${sources})
+            target_link_libraries(${SAMPLE_NAME}_c ${UTILS_NAME} ${VULKAN_LOADER} ${WINLIBS})endif()endforeach(TARG)@@ -289,7 +289,7 @@ sampleWithSingleFile()if (NOT ANDROID)foreach (sample ${S_TARGETS})
-    install(TARGETS ${sample} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+    install(TARGETS ${sample}_c RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})endforeach(sample)

http://www.lryc.cn/news/502487.html

相关文章:

  • 使用FabricJS对大图像应用滤镜(巨坑)
  • 网页502 Bad Gateway nginx1.20.1报错与解决方法
  • Spring基础分析02-BeanFactory与ApplicationContext
  • Rerender A Video 技术浅析(五):对象移除与自动配色
  • Java项目实战II基于微信小程序的小区租拼车管理信息系统 (开发文档+数据库+源码)
  • 【数字花园】数字花园(个人网站、博客)搭建经历汇总教程
  • WebRTC服务质量(03)- RTCP协议
  • STM32F103单片机HAL库串口通信卡死问题解决方法
  • Scala正则表达式
  • 每日一刷——二叉树的构建——12.12
  • Redis配置文件中 supervised指令
  • OpenCV相机标定与3D重建(18)根据基础矩阵(Fundamental Matrix)校正两组匹配点函数correctMatches()的使用
  • python脚本:向kafka数据库中插入测试数据
  • 10. 高效利用Excel导入报警信息
  • k8s service 配置AWS nlb load_balancing.cross_zone.enabled
  • 国标GB28181网页直播平台EasyGBS国标GB28181-2016协议解读:媒体流保活机制
  • 面试经验分享 | 杭州某安全大厂渗透测试岗
  • 26. Three.js案例-自定义多面体
  • HarmonyOS-高级(四)
  • Qt-chart 画折线图(以时间为x轴)
  • 【入门】晶晶的补习班
  • c#动态更新替换json节点
  • cf补题日记
  • Golang学习笔记_01——包
  • RPC设计--应用层缓冲区,TcpBuffer
  • 基于单片机智能控制的饮水机控制系统
  • 路径规划 | 改进的人工势场法APF算法进行路径规划(Matlab)
  • 【云原生知识】Kubernets实践-前端服务如何访问后端服务
  • 【ubuntu18.04】ubuntu18.04安装EasyCwmp操作说明
  • 使用Jackson库的ObjectMapper类将JSON字符串转换为Java的Map对象