当我在VS 2015中创建一个空项目时,它会自动将这些库放入"其他依赖项":
KERNEL32.LIB; USER32.LIB; GDI32.LIB; winspool.lib; comdlg32.lib; advapi32.lib; SHELL32.LIB; ole32.lib; oleaut32.lib; UUID.LIB; odbc32.lib; odbccp32.lib ;%(AdditionalDependencies)
我不知道其中大部分内容是什么,可以安全删除吗?
答案 0 :(得分:6)
其中许多都可以安全删除。以下简要介绍了它们的用途:
kernel32
:进程和线程管理,文件和设备I / O,内存分配(保持这一点,C和C ++运行时库以及编译器生成的代码使用它)user32
:窗口和菜单管理(如果使用GUI,请保留此信息,可以删除控制台应用程序)小部件的基本集(=预定义的窗口类,如按钮,复选框和滚动条)在这里。gdi32
:绘图(如果使用自定义渲染图形,请保留此项,如果只使用小部件则可以删除)comctl32
:花哨的新小部件,例如树,列表视图和进度条winspool
:超出GDI涵盖范围的高级印刷用途。我总是把它删除。comdlg32
:常用对话框,如“打开和保存文件对话框”advapi32
:注册表支持,用户帐户和访问控制,加密。我通常最终需要这个,你的需求可能会有所不同。shell32
, shlwapi
:任务栏和通知托盘UI以及更多辅助功能,如预定义文件夹和路径操作功能。通常很有用,但很多应用程序都不需要它。ole32
,oleaut32
:OLE是ActiveX,DCOM等的基础。许多较新的OS API都是COM对象,因此您可能需要保留它。uuid
:可能不需要使用高级OLE。odbc32
,odbccp32
:使用非常旧且不友好的API访问数据库。我总是删掉这些。斜体库不在默认列表中,但比一半的库更有用。
答案 1 :(得分:1)
不,你无法删除它们。这些是与Windows连接的库。
您无需担心。 .lib
非常小,他们引用的.dll
已经作为Windows安装的一部分出现。