解决使用枚举串口类而造成无法无法解析的外部符号的问题
2017-07-10 10:57
1426 查看
最近在开发一个串口通信程序,使用的是Zach Gorman提供的类。不过在vs2005下,会出现如下的情况:
1>------ 已启动生成: 项目: Communication, 配置: Debug Win32 ------
1>正在编译...
1>EnumSerial.cpp
1>正在链接...
1>EnumSerial.obj : error LNK2019: 无法解析的外部符号 __imp__SetupDiDestroyDeviceInfoList@4,该符号在函数 __catch$?EnumPortsWdm@@YAXAAV?$CArray@USSerInfo@@AAU1@@@@Z$0 中被引用
1>EnumSerial.obj : error LNK2019: 无法解析的外部符号 __imp__SetupDiGetDeviceRegistryPropertyW@28,该符号在函数 "void __cdecl EnumPortsWdm(class CArray<struct SSerInfo,struct SSerInfo &> &)" (?EnumPortsWdm@@YAXAAV?$CArray@USSerInfo@@AAU1@@@@Z) 中被引用
1>EnumSerial.obj : error LNK2019: 无法解析的外部符号 __imp__SetupDiGetDeviceInterfaceDetailW@24,该符号在函数 "void __cdecl EnumPortsWdm(class CArray<struct SSerInfo,struct SSerInfo &> &)" (?EnumPortsWdm@@YAXAAV?$CArray@USSerInfo@@AAU1@@@@Z) 中被引用
1>EnumSerial.obj : error LNK2019: 无法解析的外部符号 __imp__SetupDiEnumDeviceInterfaces@20,该符号在函数 "void __cdecl EnumPortsWdm(class CArray<struct SSerInfo,struct SSerInfo &> &)" (?EnumPortsWdm@@YAXAAV?$CArray@USSerInfo@@AAU1@@@@Z) 中被引用
1>EnumSerial.obj : error LNK2019: 无法解析的外部符号 __imp__SetupDiGetClassDevsW@16,该符号在函数 "void __cdecl EnumPortsWdm(class CArray<struct SSerInfo,struct SSerInfo &> &)" (?EnumPortsWdm@@YAXAAV?$CArray@USSerInfo@@AAU1@@@@Z) 中被引用
1>C:\Documents and Settings\Administrator\桌面\DEV\ModBus通信协议demo -09-20\Debug\Communication.exe : fatal error LNK1120: 5 个无法解析的外部命令
1>生成日志保存在“file://c:\Documents and Settings\Administrator\桌面\DEV\ModBus通信协议demo -09-20\Communication\Debug\BuildLog.htm”
1>Communication - 6 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========
这是因为VS2005中没有给我们导入setupapi.dll文件,有两种解决办法:
1:在你的.h文件中的开始位置插入#pragma comment(lib,"setupapi")即可
2:或者按下图设置
1>------ 已启动生成: 项目: Communication, 配置: Debug Win32 ------
1>正在编译...
1>EnumSerial.cpp
1>正在链接...
1>EnumSerial.obj : error LNK2019: 无法解析的外部符号 __imp__SetupDiDestroyDeviceInfoList@4,该符号在函数 __catch$?EnumPortsWdm@@YAXAAV?$CArray@USSerInfo@@AAU1@@@@Z$0 中被引用
1>EnumSerial.obj : error LNK2019: 无法解析的外部符号 __imp__SetupDiGetDeviceRegistryPropertyW@28,该符号在函数 "void __cdecl EnumPortsWdm(class CArray<struct SSerInfo,struct SSerInfo &> &)" (?EnumPortsWdm@@YAXAAV?$CArray@USSerInfo@@AAU1@@@@Z) 中被引用
1>EnumSerial.obj : error LNK2019: 无法解析的外部符号 __imp__SetupDiGetDeviceInterfaceDetailW@24,该符号在函数 "void __cdecl EnumPortsWdm(class CArray<struct SSerInfo,struct SSerInfo &> &)" (?EnumPortsWdm@@YAXAAV?$CArray@USSerInfo@@AAU1@@@@Z) 中被引用
1>EnumSerial.obj : error LNK2019: 无法解析的外部符号 __imp__SetupDiEnumDeviceInterfaces@20,该符号在函数 "void __cdecl EnumPortsWdm(class CArray<struct SSerInfo,struct SSerInfo &> &)" (?EnumPortsWdm@@YAXAAV?$CArray@USSerInfo@@AAU1@@@@Z) 中被引用
1>EnumSerial.obj : error LNK2019: 无法解析的外部符号 __imp__SetupDiGetClassDevsW@16,该符号在函数 "void __cdecl EnumPortsWdm(class CArray<struct SSerInfo,struct SSerInfo &> &)" (?EnumPortsWdm@@YAXAAV?$CArray@USSerInfo@@AAU1@@@@Z) 中被引用
1>C:\Documents and Settings\Administrator\桌面\DEV\ModBus通信协议demo -09-20\Debug\Communication.exe : fatal error LNK1120: 5 个无法解析的外部命令
1>生成日志保存在“file://c:\Documents and Settings\Administrator\桌面\DEV\ModBus通信协议demo -09-20\Communication\Debug\BuildLog.htm”
1>Communication - 6 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========
这是因为VS2005中没有给我们导入setupapi.dll文件,有两种解决办法:
1:在你的.h文件中的开始位置插入#pragma comment(lib,"setupapi")即可
2:或者按下图设置
相关文章推荐
- 解决使用枚举串口类而造成无法无法解析的外部符号的问题
- 解决 error LNK2019: 无法解析的外部符号 问题
- “无法解析外部符号 __security_cookie”问题解决
- error LNK2001: 无法解析的外部符号 _sqlite3_api问题的解决
- 问题解决 错误 LNK2001 无法解析的外部符号 "public: __cdecl CvANN_MLP_TrainParams::~CvA
- 如何解决VS2010 MySql Connect C 链接mysql:error LNK2019: 无法解析外部符号的问题
- “无法解析外部符号 __security_cookie”问题解决
- VS2008使用ATLTRACE遇到编译问题:无法解析的外部符号 "class ATL::CTraceCategory
- ”无法解析的外部符号 _pcap_freealldevs“ 解决 【如何在vs2008中使用winpcap编程】
- “error LNK2019: 无法解析的外部符号”问题解决方案
- 解决 error LNK2019: 无法解析的外部符号 问题
- IbeoSdk4.3.1使用问题【1】-- ibeosdk_VS2012.lib无法解析的外部符号
- 配置openmesh总是出现error LNK2019: 无法解析的外部符号此类问题的解决办法
- VC6.0工程升级到VS2010遇到问题及解决办法 【LNK2019】 无法解析的外部符号 __iob
- error LNK2019: 无法解析的外部符号 (C++编程出现问题的解决办法)
- 解决 error LNK2019: 无法解析的外部符号 问题
- C++中使用类模板时出现:“error LNK2019: 无法解析的外部符号”的解决办法
- 无法解析外部符号 __security_cookie”问题解决
- 解决 error LNK2019: 无法解析的外部符号 问题
- VS下QT插件 连接数据库出现error LNK2019: 无法解析的外部符号QSqlDatabase问题解决