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调试器就可以运行了。

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

相关推荐
RuoZoe8 小时前
从 2026 年 3 月 1 日开源,到 26.10.9:Jalium UI 半年时间到底走了多远?
c语言·c++
鱼子星_9 小时前
【C++】继承和多态(上)
c++·笔记
郝学胜-神的一滴11 小时前
Qt 高级编程 045:坐标体系深度实战
开发语言·c++·windows·python·qt·程序人生
码匠许师傅11 小时前
【设计模式精讲】22.中介者模式(Mediator)
c++·设计模式·软件工程·uml·中介者模式
爱吃巧克力的程序媛13 小时前
main.cpp注册 C++ 类到 QML 元对象系统
c++·qt
YYYing.13 小时前
【C++进阶系列 (二)】关于线程堆栈的那些事——函数调用过程
开发语言·c++·函数·线程堆栈
键盘会跳舞15 小时前
【C++多线程】死锁诊断工具实战:从 Windows 到 Linux 的全链路排查
linux·c++·windows·死锁
HugoStudio_SWAN15 小时前
洛谷 P10719 \[GESP202406 五级] 黑白格——暴力美学与图像处理的最小外接矩形
c++·图像处理·人工智能·学习·程序人生·算法·目标跟踪
jimy115 小时前
C++ 的 “移动语义”——Move Semantics
开发语言·c++
励志不掉头发的内向程序员17 小时前
【LibreCAD 2D架构】从鼠标点击到图形创建:RS_ActionDrawLine交互流程与状态机解析
开发语言·c++·qt·学习·系统架构·计算机外设·交互