一次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库依赖的系统库没能参与链接导致出现链接找不到符号。
可以直接在编辑框中该宏,或者点开编辑辅助窗口勾选继承
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库依赖的系统库没能参与链接导致出现链接找不到符号。
可以直接在编辑框中该宏,或者点开编辑辅助窗口勾选继承
相关文章推荐
- 测试开发系类之Java常用知识点
- C# Redis API
- asp循环语句总结
- VMware中CentOS6.5启动出现An error occurred during the file system check
- Mac下MySql卸载方法
- 为VMware虚拟主机添加新磁盘
- VNC客户端使用中文输入法
- 深入HBase架构解析(1)
- 工作习惯与工作方式
- 社团划分——Fast Unfolding算法
- maven + eclipse debug 调试
- python torndb使用简介
- System.getProperty()方法获取系统属性详解
- string类实现
- 常用开源软件镜像
- LeetCode Remove Duplicates from Sorted Array
- 读取大文件性能测试
- Spring util-namespace下标签相关操作
- 隐藏PHP 版本
- ASP 数字分页效果代码分享