title: How to solve 'Entry Point Not Found' error in a Vulkan project (CMake 3.21/VisualStudio/C++20/VMA/shaderc)
body: <p><em>(firstly I'm a chinese, so there might be some syntax errors. I'm sorry for that)</em>
  So yesterday I just update my VulkanSDK version to the newest (version 1.3.216.0) as well as VMA, but there's a runtime error occured when I try to run the code which was like : <a href="https://i.stack.imgur.com/ofJqk.png" rel="nofollow noreferrer">'Entry Point Not Found'</a>(The picture's chinese)</p>
  <p>So I try to clean the Project and Regenerate it but no progress, then I re-installed VulkanSDK and restart my computer but still nothing helped. Later I find that this is a Vulkan error which probably originate from vk_mem_alloc.h (VMA). But I debugged for a few days but still don't understand why &quot;vkGetDeviceImageRequirements&quot; is not find while there seems nothing wrong with &quot;vkGetDeviceBufferMemoryRequirements&quot; which was actually fetched earlier</p>
  <pre><code>#if VMA_VULKAN_VERSION &gt;= 1003000
              if(m_VulkanApiVersion &gt;= VK_MAKE_VERSION(1, 3, 0))
              {
                  VMA_FETCH_DEVICE_FUNC(vkGetDeviceBufferMemoryRequirements, PFN_vkGetDeviceBufferMemoryRequirements, &quot;vkGetDeviceBufferMemoryRequirements&quot;);
                  VMA_FETCH_DEVICE_FUNC(vkGetDeviceImageMemoryRequirements, PFN_vkGetDeviceImageMemoryRequirements, &quot;vkGetDeviceImageMemoryRequirements&quot;);
              }
  #endif
  </code></pre>
  <p>And here is my base.h:</p>
  <pre><code>#pragma once
  #include &lt;glad/glad.h&gt;
  #define GLFW_INCLUDE_VULKAN
  #include &lt;GLFW/glfw3.h&gt;
  #include &lt;vulkan/vulkan.hpp&gt;
  #include &lt;shaderc/shaderc.hpp&gt;
  #include &lt;vma/vk_mem_alloc.h&gt;
  </code></pre>
  <p>This is my CKake list:</p>
  <pre><code>cmake_minimum_required(VERSION 3.21)
  project(FFEngine_Project)
  
  set(CMAKE_CXX_STANDARD 20)
  
  file(GLOB copyResources &quot;./assets&quot; &quot;./thirdParty/libs/assimp/assimp-vc143-mtd.dll&quot;)
  file(COPY ${copyResources} DESTINATION ${CMAKE_BINARY_DIR})
  
  include_directories(
  SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/thirdParty/include)
  include_directories(
  SYSTEM D:/Vulkan/VulkanSDK/1.3.216.0/Include)
  
  link_directories(
      SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/thirdParty/libs/glfw
      SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/thirdParty/libs/assimp
      SYSTEM D:/Vulkan/VulkanSDK/1.3.216.0/Lib
  )
  
  add_subdirectory(ff)
  
  add_executable(triangle &quot;examples/triangle.cpp&quot;)
  
  target_link_libraries(triangle ff_lib glfw3.lib vulkan-1.lib shaderc_sharedd.lib assimp-vc143-mtd.lib)
  </code></pre>
  <p>This error has been confusing me for days, I'm really pissed off... If any more details or codes are needed, ask me, and I'll reply</p>