您的位置:首页 > 其它

一次Link2001错误的解决

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

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: