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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值