Either the library, or the downstream executable should instruct the linker that libraries like user32, kernel32 and shell32 are required. If not, you cannot actually link an executable together.
This may be avoided if instead openvr_api.dll was dynamically linked, as that responsibility falls from the linker at build time, down to the operating system at module load time!
But Since we statically link against openvr_api, we should satisfy its requirements...
For reference, here's a screenshot of a tool that shows runtime dependencies of DLL files. These are the DLLs required for all the imports from OpenVR

Either the library, or the downstream executable should instruct the linker that libraries like
,user32kernel32andshell32are required. If not, you cannot actually link an executable together.This may be avoided if instead openvr_api.dll was dynamically linked, as that responsibility falls from the linker at build time, down to the operating system at module load time!
But Since we statically link against openvr_api, we should satisfy its requirements...
For reference, here's a screenshot of a tool that shows runtime dependencies of DLL files. These are the DLLs required for all the imports from OpenVR