diff --git a/src/vkcv/Core.cpp b/src/vkcv/Core.cpp
index 5413d1133f0348a97616d1001bcd4a763364bfb7..a27e9a8f0efb550835bdc565c1460cede13e5186 100644
--- a/src/vkcv/Core.cpp
+++ b/src/vkcv/Core.cpp
@@ -518,7 +518,7 @@ namespace vkcv
 					color
 			);
 			
-			beginDebugLabel(cmdBuffer, &(static_cast<const VkDebugUtilsLabelEXT&>(debug)));
+			beginDebugLabel(static_cast<VkCommandBuffer>(cmdBuffer), &(static_cast<const VkDebugUtilsLabelEXT&>(debug)));
 		};
 
 		recordCommandsToStream(cmdStream, submitFunction, nullptr);
@@ -536,7 +536,7 @@ namespace vkcv
 		}
 		
 		auto submitFunction = [&](const vk::CommandBuffer& cmdBuffer) {
-			endDebugLabel(cmdBuffer);
+			endDebugLabel(static_cast<VkCommandBuffer>(cmdBuffer));
 		};
 
 		recordCommandsToStream(cmdStream, submitFunction, nullptr);
@@ -888,7 +888,7 @@ namespace vkcv
 				label.c_str()
 		);
 		
-		setDebugLabel(device, &(static_cast<const VkDebugUtilsObjectNameInfoEXT&>(debug)));
+		setDebugLabel(static_cast<VkDevice>(device), &(static_cast<const VkDebugUtilsObjectNameInfoEXT&>(debug)));
 #endif
 	}
 	
@@ -901,7 +901,7 @@ namespace vkcv
 		setDebugObjectLabel(
 				m_Context.getDevice(),
 				vk::ObjectType::eBuffer,
-				reinterpret_cast<uint64_t>(static_cast<VkBuffer>(
+				uint64_t(static_cast<VkBuffer>(
 						m_BufferManager->getBuffer(handle)
 				)),
 				label
@@ -917,7 +917,7 @@ namespace vkcv
 		setDebugObjectLabel(
 				m_Context.getDevice(),
 				vk::ObjectType::eRenderPass,
-				reinterpret_cast<uint64_t>(static_cast<VkRenderPass>(
+				uint64_t(static_cast<VkRenderPass>(
 						m_PassManager->getVkPass(handle)
 				)),
 				label
@@ -933,7 +933,7 @@ namespace vkcv
 		setDebugObjectLabel(
 				m_Context.getDevice(),
 				vk::ObjectType::ePipeline,
-				reinterpret_cast<uint64_t>(static_cast<VkPipeline>(
+				uint64_t(static_cast<VkPipeline>(
 						m_PipelineManager->getVkPipeline(handle)
 				)),
 				label
@@ -949,7 +949,7 @@ namespace vkcv
 		setDebugObjectLabel(
 				m_Context.getDevice(),
 				vk::ObjectType::eDescriptorSet,
-				reinterpret_cast<uint64_t>(static_cast<VkDescriptorSet>(
+				uint64_t(static_cast<VkDescriptorSet>(
 						m_DescriptorManager->getDescriptorSet(handle).vulkanHandle
 				)),
 				label
@@ -965,7 +965,7 @@ namespace vkcv
 		setDebugObjectLabel(
 				m_Context.getDevice(),
 				vk::ObjectType::eSampler,
-				reinterpret_cast<uint64_t>(static_cast<VkSampler>(
+				uint64_t(static_cast<VkSampler>(
 						m_SamplerManager->getVulkanSampler(handle)
 				)),
 				label
@@ -985,7 +985,7 @@ namespace vkcv
 		setDebugObjectLabel(
 				m_Context.getDevice(),
 				vk::ObjectType::eImage,
-				reinterpret_cast<uint64_t>(static_cast<VkImage>(
+				uint64_t(static_cast<VkImage>(
 						m_ImageManager->getVulkanImage(handle)
 				)),
 				label
@@ -1001,7 +1001,7 @@ namespace vkcv
 		setDebugObjectLabel(
 				m_Context.getDevice(),
 				vk::ObjectType::eCommandBuffer,
-				reinterpret_cast<uint64_t>(static_cast<VkCommandBuffer>(
+				uint64_t(static_cast<VkCommandBuffer>(
 						m_CommandStreamManager->getStreamCommandBuffer(handle)
 				)),
 				label