C++ use d3d11 under Windows Vista

143 Views Asked by At

If I shoud use some types from Windows kit 10, d3d11.h, d3d11.lib(static library) and compile under Toolset v90(Visual studio 2008). What should happen if .exe file will be launced under Windows Vista that have no any signs of d3d11.h, what shoud happen? It will throw unresolved externals exceptions?

2

There are 2 best solutions below

0
Christopher Pisz On BEST ANSWER

If you compile a project using shared/dynamic libraries that are expected to be distributed with the operating system and then attempt to run it on a different operating system, it will most likely either crash or won't launch at all, because of missing/mismatched shared libraries/dlls.

Also note that unresolved external is a link time error, not an exception.

0
user7860670 On

d3d11.lib is an import library. d3d11.h is not relevant at runtime (headers are only used by compiler), as well as "unresolved externals" (which are linker errors). If DirectX 11 is not installed then application will fail to launch cause of missing dll dependency. DirectX11 is available for Windows Vista as part of platform update, see How to install DirectX 11 on Windows Vista so executable should be able to run fine.