解决使用枚举串口类而造成无法无法解析的外部符号的问题

xiaoxiao2021-02-28  213

 

         最近在开发一个串口通信程序,使用的是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:或者按下图设置

 

 

 

 

 

转载请注明原文地址: https://www.6miu.com/read-18658.html

最新回复(0)