vkEnumerateInstanceExtensionProperties 未在此范围内声明

问题描述 投票:0回答:1

我正在尝试按照教程在 Ubuntu 22 中为 Vulcan 设置开发环境 https://vulkan-tutorial.com/Development_environment#page_Linux.

我收到错误

error: ‘vkEnumerateInstanceExtensionProperties’ was not declared in this scope
   19 |   vkEnumerateInstanceExtensionProperties(nullptr, &extensionCount, nullptr);

我的代码:

#define GLFW_INCLUDE_VULCAN
#include <GLFW/glfw3.h>

#define GLM_FORCE_DEPTH_ZERO_TO_ONE
#include "glm/mat4x4.hpp"
#include "glm/vec4.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;
}

生成文件:

CFLAGS = -std=c++17 -O2
LDFLAGS = -lglfw -lvulkan -ldl -lpthread -lX11 -lXxf86vm -lXrandr -lXi

VulkanTest: main.cpp
    g++ $(CFLAGS) -o VulkanTest main.cpp $(LDFLAGS)

.PHONY: test clean

test: VulkanTest
    ./VulkanTest

clean:
    rm -f VulkanTest

我错过了什么?

我安装了所有必需的库并且 GLFW 正在正确导入

c++ makefile vulkan
1个回答
-1
投票

这是一个错字。

拼写为 Vul

k
an。带有
c
的 Vulcan 是 更圆、更大的东西

正确拼写你的

GLFW_INCLUDE_VULCAN
GLFW_INCLUDE_VULKAN
),这应该可以正常编译。

© www.soinside.com 2019 - 2024. All rights reserved.