For "already defined" error it seems you are linking together win32_handmade.cpp and handmade.cpp files. That's not how Casey is building HH. Check the build.bat - he is creating two output files - win32_handmade.exe where win32_handmade.cpp is compiled into and handmade.dll file where handmade.cpp is compiled into. You'll need to create two projects in VS solution.
Unresolved external errors comes from fact that you are not passing import libraries to linker. Why this happens? Because you are using space after "linker_flags" variable name when setting its value. This makes bat file processor to set completely different variable. Remove spaces around = sign.
Basically "set abc=def" sets variable %abc% to value "def". But "set abc = def" sets variable %abc % to value " def".
VS2017 generates a bit more warnings (which are treated as errors), so you'll need to fix few of them - mostly "X hides declaration of Y". Or you can use extra compiler argument "/Wv:18" - it will try to be compatible with VS2013 version.
If you want to use VS build, I have a post here that explains how to create one:
https://hero.handmade.network/for...ll_compiler_nightmare_week_5#6104 The formatting was lost during forum upgrades, but I think it should be pretty clear what to do. It was written for ~week 5 code, so there are some steps which are unnecessary for you (like simple_preprocessor project / handmade_generated.h file).