一次Link2001错误的解决

原创
小哥 2年前 (2023-05-20) 阅读数 83 #大杂烩

项目中使用了静态库elBase.lib这个静态库中有一些有用的功能windowsAPI在项目的链接设置中添加对库的引用后,编译过程中发生了一堆错误link2001错误:

1>elBase.lib(elServiceBase.obj) : error LNK2001: unresolved external symbol __imp__OpenSCManagerW@12

1>elBase.lib(elServiceBase.obj) : error LNK2001: unresolved external symbol __imp__OpenServiceW@12

1>elBase.lib(elServiceBase.obj) : error LNK2001: unresolved external symbol __imp__CloseServiceHandle@4

1>elBase.lib(elServiceBase.obj) : error LNK2001: unresolved external symbol __imp__CreateServiceW@52

1>elBase.lib(elServiceBase.obj) : error LNK2001: unresolved external symbol __imp__QueryServiceStatus@8

1>elBase.lib(elServiceBase.obj) : error LNK2001: unresolved external symbol __imp__ControlService@12

1>elBase.lib(elServiceBase.obj) : error LNK2001: unresolved external symbol __imp__DeleteService@4

1>elBase.lib(elServiceBase.obj) : error LNK2001: unresolved external symbol __imp__StartServiceCtrlDispatcherW@4

1>elBase.lib(elServiceBase.obj) : error LNK2001: unresolved external symbol __imp__RegisterServiceCtrlHandlerW@8

1>elBase.lib(elServiceBase.obj) : error LNK2001: unresolved external symbol __imp__SetServiceStatus@8

经过搜索,设置库的重新编译并没有解决问题,但最终发现问题是由设置引起的 Additional Dependencies 何时,设置默认依赖项库

%(AdditionalDependencies)” 此宏已被删除,导致elBase库所依赖的系统库未参与链接,导致链接无法找到符号。

您可以直接在编辑框中选择宏,也可以点击编辑助手窗口选择继承

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除