It's possible to make statically linked applications but it's pretty much never done.
And it's against the linux packaging mantra, where you should be able to "apt-get install libqt" for example (noting that libqt package is completely detached from the release cycle of your application).
This leads to a ton of accidental dependencies and they're tied to the OS release. Even the simplest of apps might eventually depend on libc, pcre, openssl, etc...
Windows is simply different on this aspect. It's more friendly to static builds and the system libraries are more stable. If you built against some win32 API or the Visual Studio 2005 SDK, the DLL are still present and working.
Even in the dotnet era, you have WinSxS and exe/dll specific manifests pinning specific library artifacts with apps and a loader that keeps a repository of every version referred to on the system. The linux/ELF ecosystem on the otherhand decided to try to implement various degrees of semantic library versioning, with differing (often poor) degrees of success.
When your target is a system image thats rebuilt entirely from source you can get away with the latter somewhat more easily, but its definitely no panacea. Just look at OpenSSL. (libmemcache is another personal 'favorite' of mine.)
It's why MS tried to push the British gov to accept their shitty ODF format rather than a proper one.
Because they wanted backwards compatibility with their modern and stoneage office suite versions with their own quirks and issues.
They're obsessed with backwards compatibility and it has it's own issues.
Microsoft Office's native format is OOXML (Office Open XML). The ODF (OpenDocument Format) is the native format of LibreOffice, and the UK decided to go with this one (despite Microsoft's lobbying).
And it's against the linux packaging mantra, where you should be able to "apt-get install libqt" for example (noting that libqt package is completely detached from the release cycle of your application).
This leads to a ton of accidental dependencies and they're tied to the OS release. Even the simplest of apps might eventually depend on libc, pcre, openssl, etc...
Windows is simply different on this aspect. It's more friendly to static builds and the system libraries are more stable. If you built against some win32 API or the Visual Studio 2005 SDK, the DLL are still present and working.