LINK2019错误分析

警告与错误信息如下:

1>ReadCard.obj : warning LNK4197: 多次指定导出“CRW_Open”;使用第一个规范

1>ReadCard.obj : warning LNK4197: 多次指定导出“CRW_Close”;使用第一个规范
1>ReadCard.obj : warning LNK4197: 多次指定导出“CRW_Initialize”;使用第一个规范
1>ReadCard.obj : warning LNK4197: 多次指定导出“CRW_Enable”;使用第一个规范
1>ReadCard.obj : warning LNK4197: 多次指定导出“CRW_Disable”;使用第一个规范
1>ReadCard.obj : warning LNK4197: 多次指定导出“CRW_GetStatus”;使用第一个规范
1>ReadCard.obj : warning LNK4197: 多次指定导出“CRW_Eject”;使用第一个规范
1>ReadCard.obj : warning LNK4197: 多次指定导出“CRW_Hold”;使用第一个规范
1>ReadCard.obj : warning LNK4197: 多次指定导出“CRW_Capture”;使用第一个规范
1>ReadCard.obj : warning LNK4197: 多次指定导出“CRW_GetTrack”;使用第一个规范
1>ReadCard.obj : warning LNK4197: 多次指定导出“CRW_PowerOn”;使用第一个规范
1>ReadCard.obj : warning LNK4197: 多次指定导出“CRW_PowerOff”;使用第一个规范
1>ReadCard.obj : warning LNK4197: 多次指定导出“CRW_Get_55Filed”;使用第一个规范
1>     正在创建库 E:\程序源码\ReadCard\x64\Debug\ReadCard.lib 和对象 E:\程序源码\ReadCard\x64\Debug\ReadCard.exp
1>ReadCard.obj : error LNK2019: 无法解析的外部符号 "long __cdecl A6_Connect(unsigned long,unsigned long,unsigned __int64 *)" (?A6_Connect@@YAJKKPEA_K@Z),该符号在函数 CRW_Open 中被引用
1>ReadCard.obj : error LNK2019: 无法解析的外部符号 "long __cdecl A6_Disconnect(unsigned __int64)" (?A6_Disconnect@@YAJ_K@Z),该符号在函数 CRW_Close 中被引用
1>ReadCard.obj : error LNK2019: 无法解析的外部符号 "long __cdecl A6_Initialize(unsigned __int64,unsigned char,char *,unsigned long *)" (?A6_Initialize@@YAJ_KEPEADPEAK@Z),该符号在函数 CRW_Initialize 中被引用
1>ReadCard.obj : error LNK2019: 无法解析的外部符号 "long __cdecl A6_PermitInsertion(unsigned __int64,int)" (?A6_PermitInsertion@@YAJ_KH@Z),该符号在函数 CRW_Enable 中被引用
1>ReadCard.obj : error LNK2019: 无法解析的外部符号 "long __cdecl A6_DenieInsertion(unsigned __int64)" (?A6_DenieInsertion@@YAJ_K@Z),该符号在函数 CRW_Disable 中被引用
1>ReadCard.obj : error LNK2019: 无法解析的外部符号 "long __cdecl A6_GetCRStatus(unsigned __int64,unsigned char *)" (?A6_GetCRStatus@@YAJ_KPEAE@Z),该符号在函数 CRW_GetStatus 中被引用
1>ReadCard.obj : error LNK2019: 无法解析的外部符号 "long __cdecl A6_MoveCard(unsigned __int64,unsigned char)" (?A6_MoveCard@@YAJ_KE@Z),该符号在函数 CRW_Eject 中被引用
1>ReadCard.obj : error LNK2019: 无法解析的外部符号 "long __cdecl A6_ReadTracks(unsigned __int64,unsigned char,unsigned int,struct _TRACKINFO *)" (?A6_ReadTracks@@YAJ_KEIPEAU_TRACKINFO@@@Z),该符号在函数 CRW_GetTrack 中被引用
1>ReadCard.obj : error LNK2019: 无法解析的外部符号 "long __cdecl A6_CpuActivate(unsigned __int64,unsigned char,unsigned char *,unsigned char *,unsigned long *)" (?A6_CpuActivate@@YAJ_KEPEAE1PEAK@Z),该符号在函数 CRW_PowerOn 中被引用
1>ReadCard.obj : error LNK2019: 无法解析的外部符号 "long __cdecl A6_CpuDeactivate(unsigned __int64)" (?A6_CpuDeactivate@@YAJ_K@Z),该符号在函数 CRW_PowerOff 中被引用
1>E:\程序源码\ReadCard\x64\Debug\ReadCard.dll : fatal error LNK1120: 10 个无法解析的外部命令

1>


出现上述问题首先需要考虑的就是动态调用与静态调用的问题。根据调用方式查找问题出现的原因。

当上述方法均没有解决上述问题的时候,需要考虑是否是解决方案平台的问题,在x86和x64之间切换后再次编译看是否能解决问题。


tips:上述问题程序源自同事编译通过的程序,在我再次编译的时候出现的问题。当确定程序没问题的情况下,优先考虑是否是x86平台的程序用x64再次编译导致的错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值