VC6调用VC2005编译生成的lib/dll库出现“unresolved external symbol "__declspec(dllimport) int __cdecl”错误的原因

VC2005是生成lib/dll文件的工程,VC6是调用VC2005生成的lib/dll;

 

//工程说明

VC2005接口如:

#ifdef _GBKToGBK_DLL_IMEX_

#define GBKToGBK_DLLEXPORT _declspec(dllexport)

#else 

#define GBKToGBK_DLLEXPORT _declspec(dllimport)

#endif

GBKToGBK_DLLEXPORT BOOL GBKToGBK_T2S(const CString& strSrc, CString& strDest);
在VC6中调用函数lib库中的函数GBKToGBK_T2S时会出现“unresolved external symbol "__declspec(dllimport) int __cdecl”的错误
//原因分析:
VC2005的CString是个模板定义,与VC6中的CString类不相同,所以由VC6的CString调用VC2005中的函数中有参数CString时会出现unresolved external symbol 
//解决方法:
原因既然已经找到了,问题当然就容易解决了,可以使用其他公用类型:如std::string、TCHAR数组等,注意安全控制即可
//注:
当然,CString这样的类型不统一只是出现“unresolved external symbol "__declspec(dllimport) int __cdecl”错误的一种原因,可能还有其他如编码等问题这里就不做特殊处理了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值