Fixing platform-specific Vulkan symbol resolution. (#10904)

diff --git a/runtime/src/iree/hal/drivers/vulkan/vulkan_device.cc b/runtime/src/iree/hal/drivers/vulkan/vulkan_device.cc
index 63ad55a..025d1d9 100644
--- a/runtime/src/iree/hal/drivers/vulkan/vulkan_device.cc
+++ b/runtime/src/iree/hal/drivers/vulkan/vulkan_device.cc
@@ -1229,6 +1229,9 @@
 static iree_status_t iree_hal_vulkan_device_profiling_begin(
     iree_hal_device_t* base_device,
     const iree_hal_device_profiling_options_t* options) {
+  iree_hal_vulkan_device_t* device = iree_hal_vulkan_device_cast(base_device);
+  (void)device;
+
   // For now we only support RenderDoc. As much as possible we should try to use
   // standardized Vulkan layers to do profiling configuration/control like
   // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_performance_query.html
@@ -1239,7 +1242,6 @@
   if (iree_all_bits_set(options->mode,
                         IREE_HAL_DEVICE_PROFILING_MODE_QUEUE_OPERATIONS)) {
 #if defined(IREE_HAL_VULKAN_HAVE_RENDERDOC)
-    iree_hal_vulkan_device_t* device = iree_hal_vulkan_device_cast(base_device);
     iree_hal_vulkan_begin_renderdoc_capture(device->renderdoc_api,
                                             device->instance, options);
 #endif  // IREE_HAL_VULKAN_HAVE_RENDERDOC
@@ -1249,8 +1251,10 @@
 
 static iree_status_t iree_hal_vulkan_device_profiling_end(
     iree_hal_device_t* base_device) {
-#if defined(IREE_HAL_VULKAN_HAVE_RENDERDOC)
   iree_hal_vulkan_device_t* device = iree_hal_vulkan_device_cast(base_device);
+  (void)device;
+
+#if defined(IREE_HAL_VULKAN_HAVE_RENDERDOC)
   iree_hal_vulkan_end_renderdoc_capture(device->renderdoc_api,
                                         device->instance);
 #endif  // IREE_HAL_VULKAN_HAVE_RENDERDOC
diff --git a/runtime/src/iree/hal/drivers/vulkan/vulkan_headers.h b/runtime/src/iree/hal/drivers/vulkan/vulkan_headers.h
index 882e57f..ca5a079 100644
--- a/runtime/src/iree/hal/drivers/vulkan/vulkan_headers.h
+++ b/runtime/src/iree/hal/drivers/vulkan/vulkan_headers.h
@@ -7,6 +7,8 @@
 #ifndef IREE_HAL_DRIVERS_VULKAN_VULKAN_HEADERS_H_
 #define IREE_HAL_DRIVERS_VULKAN_VULKAN_HEADERS_H_
 
+#include "iree/base/target_platform.h"
+
 // We exclusively use Vulkan via queried function pointers. To ensure that there
 // are no accidental calls to the linker-loaded implicit functions we just
 // compile them all out.
@@ -33,6 +35,12 @@
 // https://djang86.blogspot.com/2019/01/what-is-vknoprototypes.html
 #define VK_NO_PROTOTYPES 1
 
+#if defined(IREE_PLATFORM_ANDROID)
+#define VK_USE_PLATFORM_ANDROID_KHR 1
+#elif defined(IREE_PLATFORM_WINDOWS)
+#define VK_USE_PLATFORM_WIN32_KHR 1
+#endif  // IREE_PLATFORM_*
+
 #include <vulkan/vulkan.h>  // IWYU pragma: export
 
 #ifdef IREE_PLATFORM_APPLE