blurrypiano / littleVulkanEngine

Code repo for video tutorial series teaching Vulkan and computer graphics
MIT License
829 stars 147 forks source link

Tutorial 8 linking error LNK2019 #32

Open WhiterHtNcs opened 2 years ago

WhiterHtNcs commented 2 years ago

Hi, I got stucked in Tut8, after I edited all the codes there are three linking errors and I cannot figure out where is wrong

Here are the build output:

Build started... 1>------ Build started: Project: VulkanEngine, Configuration: Debug Win32 ------ 1>first_app.cpp 1>lve_model.cpp 1>lve_pipeline.cpp 1>lve_window.hpp 1>lve_window.cpp 1>main.cpp 1>lve_device.cpp 1>lve_swap_chain.cpp 1>D:\Dev\Vulkan\LittleVulkanEngine\VulkanEngine\VulkanEngine\lve_swap_chain.cpp(46,27): warning C4018: '<': signed/unsigned mismatch 1>D:\Dev\Vulkan\LittleVulkanEngine\VulkanEngine\VulkanEngine\lve_swap_chain.cpp(266,27): warning C4018: '<': signed/unsigned mismatch 1>lve_model.hpp 1>Generating Code... 1>Debug\lve_window.obj : warning LNK4042: object specified more than once; extras ignored 1>Debug\lve_model.obj : warning LNK4042: object specified more than once; extras ignored 1>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library 1>first_app.obj : error LNK2019: unresolved external symbol "public: thiscall lve::LveWindow::LveWindow(int,int,class std::basic_string<char,struct std::char_traits,class std::allocator >)" (??0LveWindow@lve@@QAE@HHV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "public: thiscall lve::FirstApp::FirstApp(void)" (??0FirstApp@lve@@QAE@XZ) 1>first_app.obj : error LNK2019: unresolved external symbol "public: thiscall lve::LveWindow::~LveWindow(void)" (??1LveWindow@lve@@QAE@XZ) referenced in function unwindfunclet$??0FirstApp@lve@@QAE@XZ$1 1>lve_device.obj : error LNK2019: unresolved external symbol "public: void __thiscall lve::LveWindow::createWindowSurface(struct VkInstance_T ,unsigned __int64 )" (?createWindowSurface@LveWindow@lve@@QAEXPAUVkInstance_T@@PA_K@Z) referenced in function "private: void __thiscall lve::LveDevice::createSurface(void)" (?createSurface@LveDevice@lve@@AAEXXZ) 1>D:\Dev\Vulkan\LittleVulkanEngine\VulkanEngine\Debug\VulkanEngine.exe : fatal error LNK1120: 3 unresolved externals 1>Done building project "VulkanEngine.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

WhiterHtNcs commented 2 years ago

I have replace all the codes to your tutorial 8 changes files but still not work. Here is my current VulkanEngine.zip solution files, hope this could be helpful to find the issue

therpgmaster commented 2 years ago

Try using these linker options: /NODEFAULTLIB:MSVCRT,libucrtd (VS Project properties -> Linker -> Input -> Ignore Specific Default Libraries) Possibly together with: /MDd You could also try clearing the Additional Options field.