一次Link2001错误的解决

来源:互联网 发布:时间序列数据分析例子 编辑:程序博客网 时间:2024/04/30 14:04

项目中用到了一个静态库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库依赖的系统库没能参与链接导致出现链接找不到符号。

可以直接在编辑框中该宏,或者点开编辑辅助窗口勾选继承



0 0
原创粉丝点击