Bonjour,
J'ai un problème avec l'initialisation du nom des extensions actives dans mon instance Vulkan.
J'aimerais utiliser un std::vector mais cela cause un problème.
Est-ce que quelqu'un saurait m'expliquer ce que je fais mal?
Voici le code :
Ici pas de problème mon instance se crée sans problème.Code:VkInstanceCreateInfo instanceInfo2{}; instanceInfo2.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; instanceInfo2.pApplicationInfo = appInfo; uint32_t extensionsCount = 0; const char** extensionsGLFW = glfwGetRequiredInstanceExtensions(&extensionsCount); std::vector<const char*>extensionsRequired(extensionsGLFW, extensionsGLFW + extensionsCount); instanceInfo2.enabledExtensionCount = extensionsCount; //instanceInfo2.enabledExtensionCount = static_cast<uint32_t>(extensionsRequired.size()); instanceInfo2.ppEnabledExtensionNames = extensionsGLFW ; //instanceInfo2.ppEnabledExtensionNames = extensionsRequired.data();
Lorsque je remplace
parCode:instanceInfo2.enabledExtensionCount = extensionsCount;
tout fonctionne très bien.Code:instanceInfo2.enabledExtensionCount = static_cast<uint32_t>(extensionsRequired.size());
Cependant lorsque je tente de remplacer
parCode:instanceInfo2.ppEnabledExtensionNames = extensionsGLFW ;
J'obtiens l'erreur suivante: VK_ERROR_EXTENSION_NOT_PRESENTCode:instanceInfo2.ppEnabledExtensionNames = extensionsRequired.data();
-----