Vulkan-记录 官方教程的详细步骤(记录踩坑)

记录下踩坑防止自己后面忘记,感觉每次点进官网的教程地址都不太一样,不知道为什么,感觉教程地址很乱。自己记录一下。防止后面忘了。可以有个参考

vulkan开发环境

docs.vulkan.org/tutorial/la...

安装vulkan

vulkan.org/

也可以直接进就是这个地址:https://vulkan.lunarg.com/

安装过程中除了ARM64 binaries for coss compiling(用于编译的ARM64二进制文件)用于跨平台编译arm64架构的程序,这个看个人需求,是否需要安装。其他的最好都勾选安装

  • GLM Headers:OpenGL数学库头文件(用于3D图形计算)

  • SDL2 libraries and headers:跨平台多媒体开发库(处理输入/输出/窗口)

  • Volk header, source and library:Vulkan轻量级加载器(简化API调用)

  • Shader Toolchain Debug Symbols - 64-bit:着色器调试符号文件(用于诊断着色器问题)

  • Vulkan Memory Allocator header:Vulkan内存管理工具(优化GPU内存分配)

  • ARM64 binaries for cross compiling:ARM64交叉编译工具(开发手机/嵌入式应用)

  • ARM64 binaries for cross compiling(用于编译的ARM64二进制文件)

    Vulkan SDK中的ARM64 binaries for cross compiling组件的作用是:

    • 提供在x86_64主机上交叉编译ARM64目标平台Vulkan程序所需的工具链和库文件
    • 包含ARM64架构的验证层(Validation Layers)、SPIR-V工具等
    • 使开发者无需ARM设备即可编译ARM平台的Vulkan应用
    • 典型用例:在x86 Windows/Linux电脑上开发运行于Android ARM设备或Apple Silicon Mac的Vulkan应用。

Visual Studio 环境配置

1.安装Glfw

www.glfw.org/download.ht...

下载好后是glfw-3.4.bin.WIN64.zip

解压出来如下:

2.安装glfw

shell 复制代码
vcpkg install glm

Visual studio 记得安装C++桌面开发和游戏开发。 新建项目后: 先新建一个main.cpp 否则好像就点不了下面的{你的项目名} 和属性

顺便把教程网站上的这个代码粘贴进去

cpp 复制代码
#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>

#define GLM_FORCE_DEPTH_ZERO_TO_ONE
#include <glm/vec4.hpp>
#include <glm/mat4x4.hpp>

#include <iostream>

int main() {
    glfwInit();

    glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
    GLFWwindow* window = glfwCreateWindow(800, 600, "Vulkan window", nullptr, nullptr);

    uint32_t extensionCount = 0;
    vkEnumerateInstanceExtensionProperties(nullptr, &extensionCount, nullptr);

    std::cout << extensionCount << " extensions supported\n";

    glm::mat4 matrix;
    glm::vec4 vec;
    auto test = matrix * vec;

    while(!glfwWindowShouldClose(window)) {
        glfwPollEvents();
    }

    glfwDestroyWindow(window);

    glfwTerminate();

    return 0;
}

然后肯定会报错,所以接下来 点击项目->{你的项目名} 和属性

选择所有配置

然后把下面的这几个文件夹添加进去,当然,具体目录换成你自己的安装所在目录,第一个空行是为了演示怎么选文件夹,实际不需要空行

shell 复制代码
# 你刚才通过vcpkg 安装的glm
D:\program\devlop\c\vcpkg\packages\glm_x64-windows\include
# 你刚开下载安装的glfw
D:\data\c\lib\glfw-3.4.bin.WIN64\include
# 刚才的vulkan安卓目录
D:\program\devlop\VulkanSDK\1.4.313.2\Include

添加好后点击确定

填好之后如下

同样的打开这里:

将库文件夹添加进去

shell 复制代码
D:\program\devlop\VulkanSDK\1.4.313.2\Lib
D:\data\c\lib\glfw-3.4.bin.WIN64\lib-vc2017

然后还需要打开这里:

将这个加入进去

vbnet 复制代码
vulkan-1.lib
glfw3.lib

确定后。如果是正确的就不会报错了。

接下来就确定是Debug->x64(确认是64位)然后点击本地Windows调试器就可以运行了。

如果有看到这个窗口,并且一直能运行着,不会自动闪退,就说明环境和代码都是对的了:

相关推荐
十年编程老舅2 小时前
C/C++ 高频八股文面试题1000题(一)
c++·八股文·大厂面试题·c++八股文·八股文面试题·c++面经
Hat_man_3 小时前
Windows下memcpy_s如何在Linux下使用
linux·c++
老一岁4 小时前
c++set和pair的使用
开发语言·c++
@我漫长的孤独流浪4 小时前
数据结构----排序(3)
数据结构·c++·算法
oioihoii5 小时前
C++11 GC Interface:从入门到精通
java·jvm·c++
salsm5 小时前
Clang Static Analyzer 使用教程:本地 + CMake + GitHub Actions 自动静态分析实战
c++·静态分析·clang·代码质量
小刘同学++6 小时前
C++11 alignas 和 alignof 关键字
开发语言·c++
听风lighting6 小时前
WebServer实现:muduo库的主丛Reactor架构
linux·运维·网络·c++·socket·webserver
比特层递7 小时前
C++: 输出Windows平台或Linux平台时间信息的函数
开发语言·c++