TheCherno / Hazel

Hazel Engine
Apache License 2.0
11.64k stars 1.5k forks source link

Hazelnut cannot find the correct dlls #613

Closed szkristof32 closed 1 year ago

szkristof32 commented 1 year ago

Describe the bug

I cloned and set Hazel up by following the instructions in the readme, then built it. I didn't get any errors (only warnings). But when I ran Hazelnut it said that the code execution cannot proceed because shaderc_sharedd.dll was not found. It was strange because shaderc links with a lib, and Hazel shouldn't be looking for dlls.

To Reproduce

I can't exactly describe how to reproduce this because I don't know anything about what causing this error.

Expected behavior

I would except Hazelnut to start and work properly.

Screenshots

The exact error message: error The build output: Output-Build.txt

Operating system: (please complete the following information)

Additional context

GPU Vendor: NVIDIA GPU Driver Version: 528,49 GPU Model: NVIDIA GeForce RTX 2060 Vulkan Version: 1.3.216.0

VagueLobster commented 1 year ago

You need a system variable called VULKAN_SDK with the path: C:\VulkanSDK\1.3.216.0 Or whatever drive + folder(s) you have your version of VulkanSDK in! If you don't have this variable, you can't run Hazel... or i should say: you can, but it's a lot more work!

VagueLobster commented 1 year ago

It was strange because shaderc links with a lib, and Hazel shouldn't be looking for dlls.

This statement is not entirely correct! Hazel looks for a .lib file, yes, that's correct. But that .lib uses the .dll file! It literally says in it's name _sharedd.lib the last 'd' just mean debug! So no, Hazel does not directly look for a .dll file, but it's linking to a .lib file that does! So therefore, you need that .dll to be in the C:\VulkanSDK\1.3.216.0\Bin folder in order to run VulkanSDK correctly.

szkristof32 commented 1 year ago

Thank for the help. I was able to track down the problem very easily after your reply. I had the Vulkan SDK installed and I had all the libs in the Lib folder and all the dlls in the Bin folder. Problem was, that I hadn't had this folder in my PATH variable. After I put that in, it worked fine.

VagueLobster commented 1 year ago

That's great to hear you got it working 😄