-
Notifications
You must be signed in to change notification settings - Fork 282
Closed
Labels
Description
Description
I updated the NDK version of my project from version 25.2.9519653 to 26.1.10909125, after which my Vulkan project stopped compiling due to errors in with repeated definitions in the vulkan.hpp header shipped with NDK
(26.1.10909125\sources\third_party\vulkan\src\include\vulkan\)
Version 26.1.10909125 has a lot of repeated definitions in the vulkan.hpp and vulkan_enums.hpp headers. At least from these files come most of the compilation errors, I don't know if other files in the vulkan folder are not also affected.
Compilation output
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan.hpp:1161:10: error: class member cannot be redeclared
void link( void * dstBase, void const * srcBase, VkBaseOutStructure * dst, VkBaseInStructure const * src )
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan.hpp:1149:10: note: previous definition is here
void link( void * dstBase, void const * srcBase, VkBaseOutStructure * dst, VkBaseInStructure const * src )
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan.hpp:1342:9: error: redefinition of 'DispatchLoaderBase'
class DispatchLoaderBase
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan.hpp:1318:9: note: previous definition is here
class DispatchLoaderBase
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan.hpp:5881:7: error: class member cannot be redeclared
vkSetDeviceMemoryPriorityEXT( VkDevice device, VkDeviceMemory memory, float priority ) const VULKAN_HPP_NOEXCEPT
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan.hpp:5552:10: note: previous definition is here
void vkSetDeviceMemoryPriorityEXT( VkDevice device, VkDeviceMemory memory, float priority ) const VULKAN_HPP_NOEXCEPT
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan.hpp:5888:10: error: class member cannot be redeclared
void vkGetDeviceBufferMemoryRequirementsKHR( VkDevice device,
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan.hpp:5559:10: note: previous definition is here
void vkGetDeviceBufferMemoryRequirementsKHR( VkDevice device,
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan.hpp:5895:10: error: class member cannot be redeclared
void vkGetDeviceImageMemoryRequirementsKHR( VkDevice device,
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan.hpp:5566:10: note: previous definition is here
void vkGetDeviceImageMemoryRequirementsKHR( VkDevice device,
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan.hpp:5902:10: error: class member cannot be redeclared
void vkGetDeviceImageSparseMemoryRequirementsKHR(
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan.hpp:5573:10: note: previous definition is here
void vkGetDeviceImageSparseMemoryRequirementsKHR( VkDevice device,
^
In file included from C:/Users/Sebastian/AndroidStudioProjects/AndroidVulkanDemo/Renderer/Source/StRenderer/Renderer.cpp:1:
In file included from C:/Users/Sebastian/AndroidStudioProjects/AndroidVulkanDemo/Renderer/Include/StRenderer/Renderer.hpp:8:
In file included from C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan.hpp:6176:
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:1841:14: error: redefinition of 'MemoryMapFlagBits'
enum class MemoryMapFlagBits : VkMemoryMapFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:1828:14: note: previous definition is here
enum class MemoryMapFlagBits : VkMemoryMapFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:1941:14: error: redefinition of 'SemaphoreCreateFlagBits'
enum class SemaphoreCreateFlagBits : VkSemaphoreCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:1928:14: note: previous definition is here
enum class SemaphoreCreateFlagBits : VkSemaphoreCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2061:14: error: enumeration redeclared with different underlying type 'int' (was 'VkQueryPoolCreateFlags' (aka 'unsigned int'))
enum class QueryPoolCreateFlagBits
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2048:14: note: previous declaration is here
enum class QueryPoolCreateFlagBits : VkQueryPoolCreateFlags
^ ~~~~~~~~~~~~~~~~~~~~~~
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2171:14: error: redefinition of 'BufferViewCreateFlagBits'
enum class BufferViewCreateFlagBits : VkBufferViewCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2158:14: note: previous definition is here
enum class BufferViewCreateFlagBits : VkBufferViewCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2772:14: error: redefinition of 'PipelineDynamicStateCreateFlagBits'
enum class PipelineDynamicStateCreateFlagBits : VkPipelineDynamicStateCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2681:14: note: previous definition is here
enum class PipelineDynamicStateCreateFlagBits : VkPipelineDynamicStateCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2781:14: error: redefinition of 'PipelineInputAssemblyStateCreateFlagBits'
enum class PipelineInputAssemblyStateCreateFlagBits : VkPipelineInputAssemblyStateCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2694:14: note: previous definition is here
enum class PipelineInputAssemblyStateCreateFlagBits : VkPipelineInputAssemblyStateCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2799:14: error: redefinition of 'PipelineMultisampleStateCreateFlagBits'
enum class PipelineMultisampleStateCreateFlagBits : VkPipelineMultisampleStateCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2707:14: note: previous definition is here
enum class PipelineMultisampleStateCreateFlagBits : VkPipelineMultisampleStateCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2808:14: error: redefinition of 'PipelineRasterizationStateCreateFlagBits'
enum class PipelineRasterizationStateCreateFlagBits : VkPipelineRasterizationStateCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2720:14: note: previous definition is here
enum class PipelineRasterizationStateCreateFlagBits : VkPipelineRasterizationStateCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2817:14: error: redefinition of 'PipelineTessellationStateCreateFlagBits'
enum class PipelineTessellationStateCreateFlagBits : VkPipelineTessellationStateCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2733:14: note: previous definition is here
enum class PipelineTessellationStateCreateFlagBits : VkPipelineTessellationStateCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2826:14: error: redefinition of 'PipelineVertexInputStateCreateFlagBits'
enum class PipelineVertexInputStateCreateFlagBits : VkPipelineVertexInputStateCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2746:14: note: previous definition is here
enum class PipelineVertexInputStateCreateFlagBits : VkPipelineVertexInputStateCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2835:14: error: redefinition of 'PipelineViewportStateCreateFlagBits'
enum class PipelineViewportStateCreateFlagBits : VkPipelineViewportStateCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2759:14: note: previous definition is here
enum class PipelineViewportStateCreateFlagBits : VkPipelineViewportStateCreateFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2978:14: error: redefinition of 'DescriptorPoolResetFlagBits'
enum class DescriptorPoolResetFlagBits : VkDescriptorPoolResetFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:2965:14: note: previous definition is here
enum class DescriptorPoolResetFlagBits : VkDescriptorPoolResetFlags
^
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:3354:14: error: redefinition of 'CommandPoolTrimFlagBits'
enum class CommandPoolTrimFlagBits : VkCommandPoolTrimFlags
^
he command: "C:\Program Files\CMake\bin\cmake.EXE" --build C:/Users/Sebastian/AndroidStudioProjects/AndroidVulkanDemo/out/build/Android-armeabi-v7a-Debug --config Debug --target StRenderer exited with code: 1
C:/Users/Sebastian/AppData/Local/Android/Sdk/ndk/26.1.10909125/sources/third_party/vulkan/src/include/vulkan/vulkan_enums.hpp:3340:14: note: previous definition is here
enum class CommandPoolTrimFlagBits : VkCommandPoolTrimFlags
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
Some errors look like typical merge mistakes, because the function code itself is the same, only the formatting is different:
Affected versions
r26
Canary version
No response
Host OS
Windows
Host OS version
19045.3693
Affected ABIs
armeabi-v7a, arm64-v8a, x86, x86_64
Build system
CMake
Other build system
No response
minSdkVersion
24
Device API level
No response