LukasBanana / LLGL

Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal
BSD 3-Clause "New" or "Revised" License
2.05k stars 139 forks source link

Compilation problems with Vulkan Backend on Windows Platform #47

Closed NoFr1ends closed 4 years ago

NoFr1ends commented 4 years ago

I found two problems with the vulkan rendering backend on Windows.

  1. The library files under windows are not longer in the Bin folder instead they are in the Lib(32) folder.
  2. Also I get unresolved external symbols when compiling: VKCommandBuffer.cpp.obj : error LNK2019: unresolved external symbol _vkCmdBeginTransformFeedbackEXT@20 referenced in function "public: virtual void __thiscall LLGL::VKCommandBuffer::BeginStreamOutput(unsigned int,class LLGL::Buffer * const *)" (?BeginStreamOutput@VKCommandBuffer@LLGL@@UAEXIPBQAVBuffer@2@@Z) VKCommandBuffer.cpp.obj : error LNK2019: unresolved external symbol _vkCmdEndTransformFeedbackEXT@20 referenced in function "public: virtual void __thiscall LLGL::VKCommandBuffer::EndStreamOutput(void)" (?EndStreamOutput@VKCommandBuffer@LLGL@@UAEXXZ) VKCommandBuffer.cpp.obj : error LNK2019: unresolved external symbol _vkCmdBeginConditionalRenderingEXT@8 referenced in function "public: virtual void __thiscall LLGL::VKCommandBuffer::BeginRenderCondition(class LLGL::QueryHeap &,unsigned int,enum LLGL::RenderConditionMode)" (?BeginRenderCondition@VKCommandBuffer@LLGL@@UAEXAAVQueryHeap@2@IW4RenderConditionMode@2@@Z) VKCommandBuffer.cpp.obj : error LNK2019: unresolved external symbol _vkCmdEndConditionalRenderingEXT@4 referenced in function "public: virtual void __thiscall LLGL::VKCommandBuffer::EndRenderCondition(void)" (?EndRenderCondition@VKCommandBuffer@LLGL@@UAEXXZ)
LukasBanana commented 4 years ago
  1. Do you mean the latest Vulkan SDK? That means the searching for the Vulkan CMake module needs an update. For now, you can simply set the paths manually, if you haven't already done this.
  2. This might be an issue with a missing LLGL_VK_ENABLE_EXT guard. Can you enable that option in CMake?
NoFr1ends commented 4 years ago
  1. Yes. I changed the FindVulkan.cmake to also look in the lib(32) folders and that helped.
  2. Defining this helped to resolve the linkage error.
LukasBanana commented 4 years ago

Fixed with f89ceb7.