首页 > 其他 > 详细

导出的函数无法导入

时间:2015-08-07 11:04:49      阅读:272      评论:0      收藏:0      [点我收藏+]


#ifdef GLOBE_20150806
#define GLOBE_EXPIMP __declspec(dllexport)
#else
#define GLOBE_EXPIMP __declspec(dllimport)
#endif


 GLOBE_EXPIMP extern  std::string  WideCharToMultiChar(std::wstring str);//宽字符转多字符




banlv error LNK2019: 无法解析的外部符号 "__declspec(dllimport) class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl WideCharToMultiChar(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >)" (__imp_?WideCharToMultiChar@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@2@@Z) ,该符号...
查看lib导出的函数:
__imp_?WideCharToMultiChar@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z
差别在于:
导入方:basic_string@G   也就是basic_string<unsigned short>
导出房:basic_string@_W  也就是basic_string<wchar_t>  。此处的wchar_t是内置类型。
所以wchar_t统一成内置类型或统一成非内置类型。

VS2002(VC7)的配置方法:“配置属性->C++->语言” 的“将wchar_t配置成内置类型

版权声明:本文为博主原创文章,未经博主允许不得转载。

导出的函数无法导入

原文:http://blog.csdn.net/he_zhidan/article/details/47335883

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!