diff --git a/src/vkcv/Core.cpp b/src/vkcv/Core.cpp
index 13e8d7e72bc1502dfafb48c18ce259f25b0f3ab7..a4383acc1cf7a03f894cf206b38a6948ab8dd76d 100644
--- a/src/vkcv/Core.cpp
+++ b/src/vkcv/Core.cpp
@@ -458,7 +458,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);
@@ -476,7 +476,7 @@ namespace vkcv
 		}
 		
 		auto submitFunction = [&](const vk::CommandBuffer& cmdBuffer) {
-			endDebugLabel(cmdBuffer);
+			endDebugLabel(static_cast<VkCommandBuffer>(cmdBuffer));
 		};
 
 		recordCommandsToStream(cmdStream, submitFunction, nullptr);
@@ -874,7 +874,7 @@ namespace vkcv
 				label.c_str()
 		);
 		
-		setDebugLabel(device, &(static_cast<const VkDebugUtilsObjectNameInfoEXT&>(debug)));
+		setDebugLabel(static_cast<VkDevice>(device), &(static_cast<const VkDebugUtilsObjectNameInfoEXT&>(debug)));
 #endif
 	}
 	
@@ -887,7 +887,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
@@ -903,7 +903,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
@@ -919,7 +919,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
@@ -935,7 +935,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
@@ -951,7 +951,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
@@ -971,7 +971,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
@@ -987,7 +987,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