您的位置:首页 > 其它

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

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:或者按下图设置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐