Standard Windows DLLs

Started by
2 comments, last by Chris_F 12 years ago
I've noticed Visual Studio 2010 adds certain DLLs to the linker input by default. I have an idea of what kernel32, user32, and gdi32 contain, but do I really need winspool.lib,comdlg32.lib,advapi32.lib,shell32.lib, and ole32.lib among others? Is there a resource that would give me an overview of that these libraries contain, and if I would be able to remove some frm my project?

Thanks.
--------------------------------------Not All Martyrs See Divinity, But At Least You Tried
Advertisement
Couple of points:

  • A lot of libraries are added just for convenience
  • You can always try removing them one at a time and see if everything still links (you'll get Unresolved Externals if you needed a library you just removed)
  • Google can probably tell you anything you need to know about what services each of those .libs offers; MSDN can fill in the gaps

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

VS will also remove unneeded dependencies when optimizing, so your final executable will not require these to run.

Fruny: Ftagn! Ia! Ia! std::time_put_byname! Mglui naflftagn std::codecvt eY'ha-nthlei!,char,mbstate_t>

As stated, if the program doesn't actually reference anything in those libraries, then they wont be linked. Also, you shouldn't worry about any of those libraries, they are really not a dependency because it's not as if you are ever going to find a system that is missing one of those. Those DLLs all belong to the Win32 subsystem. They are essential operating system files.

This topic is closed to new replies.

Advertisement