Why dont VS link against the runtime library? and more


I recently installed visual studio and stumbled upon something i dont really understand.

Basically i discovered that under MSVC/Version/
It has what looks like the standard library headers, libs, and dll's
(it has libs like: vcruntime.lib and vcruntime140.dll as well as what looks like the source code for them)

But if the standard library dll's came with visual studio then how was other application that depends on the CRT working before i installed it?

Furthermore i created a project in visual studio and went to the "properties" tab and checked the command line arguments and i discovered that it doesn't even link against the crt ? only:
Kernel32, user32, gdi32, winspool, comdlg32, advapi32, shell32, ole32, oleaut32, uuid, odbc32, odbccp32

But no vcruntime.lib ?

I've probably misunderstood something....the standard library / runtime library and such have always been pretty confusing to me.
Last edited on
1. Visual studio runtime libraries also come in redistributable installers, for example https://www.microsoft.com/en-us/download/details.aspx?id=48145 , or maybe it was linked statically

2. CRT libraries are linked by default. /nodefautlib option can be used to prevent that.
Topic archived. No new replies allowed.