when creating dll project in visual studio (2017 in my case) there are quite a lot of libs out into additional dependencies
kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;
Is there somewhere a descriptions why so many are needed?
These are the libraries that interface with Windows.
For more details about what they are for, I suggest you could refer to the link: https://stackoverflow.com/a/36018689/11872808
kernel32
: Process and thread management, file and device I/O, memory allocation (keep this, the C and C++ runtime libraries and compiler-generated code uses it)
user32
: Window and menu management (keep this if using GUI, can remove for console apps) The base set of widgets (= predefined window classes, like buttons and checkboxes and scrollbars) are here.
gdi32
: Drawing (keep this if using custom rendered graphics, can remove if just using widgets)
comctl32
: Fancy new widgets, like trees, listviews, and progress bars
winspool
: Advanced usage of printing beyond what GDI covers.
comdlg32
: Common dialogs, like Open and Save File Dialogs
advapi32
: Registry support, user account and access control, cryptography.
shell32, shlwapi
: Taskbar and notification tray UI and more helper functions, like predefined folders and path manipulation functions.
ole32, oleaut32
: OLE is the basis for ActiveX, DCOM, etc. Many of the newer OS APIs are COM objects.
uuid
: Advanced OLE usage.
odbc32, odbccp32
: Database access using a very old and unfriendly API.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.