码迷,mamicode.com
首页 > 其他好文 > 详细

导出的函数无法导入

时间:2015-08-07 11:07:29      阅读:169      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!