简体   繁体   中英

Explanation on additional dependency libs when creating dll project in Visual Studio

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM