There are two issues you are seeing.
First are the warnings (that sometimes lead to linker errors) which comes from fact that MSVC has multiple C runtime libraries. These libraries are not compatible with each other. So in case one part of source code or library (like raylib.lib) is compiled with one C runtime, but your code is compiled with different C runtime then you'll see these errors/warnings.
To avoid that you need to use exactly same runtime library as rest of your code (and libraries). Type of C runtime is selected with following flags:
* /MP - to use statically linked release runtime (release means it will avoid doing special debug asserts to validate some internal checks, like corruption of memory)
* /MPd - to use statically linked debug runtime
* /MD - to use dynamically linked release runtime (dynamically means your .exe will depend on msvcrXXX.dll and vcruntimeXX.dll and other C runtime dll files)
* /MDd - to use dynamically linked debug runtime
Also make sure you are using same visual studio as raylib.lib file was created with (2013 vs 2015 vs 2017). Different versions of Visual Studio uses different versions of C/C++ runtime libraries which are not compatible with each other.
Other are errors about unresolved externals. As marcc already explained, this is solved by adding import libraries for linker. How to know which libraries you need to add? MSDN will tell you that. For example, you see it cannot find __imp_GetRawInputDeviceInfoA symbol, that means you need to check documentation for GetRawInputDeviceInfo
function. Scroll to the bottom to see which library you need to use (Library = User32.lib).