静态链接MFC构建DLL遇Error LNK2001,需关联哪个库?
解决LNK2001: 未解析外部符号__imp_DeleteObject的问题
- 问题根源:
DeleteObject是Windows GDI(图形设备接口)的标准函数,静态链接MFC构建DLL时,编译器不会自动链接对应的GDI依赖库,导致符号无法解析。 - 解决步骤:需要手动引入
gdi32.lib库,两种实现方式:- 在代码中添加编译指令:
#pragma comment(lib, "gdi32.lib") - 通过项目设置添加:
右键项目 → 属性 → 链接器 → 输入 → 附加依赖项,填入gdi32.lib
- 在代码中添加编译指令:
补充提示:静态链接MFC场景下,部分系统API的依赖库不会被默认包含,遇到类似未解析符号问题时,可根据函数所属的Windows组件(如GDI、User32等)对应添加系统库。
内容的提问来源于stack exchange,提问作者logeeks
相关产品推荐
相关产品推荐

