导出的函数无法导入

#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> >)" ([email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@Z) ,该符号...

查看lib导出的函数:

[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected][email protected][email protected]@@[email protected][email protected]@@[email protected]@Z

差别在于:

导入方:[email protected]   也就是basic_string<unsigned short>

导出房:[email protected]_W  也就是basic_string<wchar_t>  。此处的wchar_t是内置类型。

所以wchar_t统一成内置类型或统一成非内置类型。

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

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

时间: 2024-10-29 00:35:26

导出的函数无法导入的相关文章

明明导出的函数,无法导入

导出时是:[email protected]@[email protected] 导入时是:[email protected]@[email protected]_WU G和_W的区别,为了研究各字母的含义.做了如下实验: void fun()=> [email protected]@YAXXZ void fun(int)=> [email protected]@[email protected] void fun(int a,int b)=> [email protected]@[em

Windows下程序打包发布时的小技巧(使用Dependency Walker侦测不理想,改用VS自带的dumpbin则万无一失,还可查看dll导出的函数)

Windows下开发的应用程序在发布时,需要将其依赖的一些动态链接库一起打进安装包里面去.这个时候,快速确定这个程序到底依赖哪些动态链接库变得非常重要.很久以前写过一篇关于Qt程序安装包制作的博客,里面介绍了Dependency Walker这个小工具.但是实际操作起来并不理想,因为Dependency Walker将exe文件依赖的所有动态库以及动态库所依赖的动态库都列出来了.看得你一脸懵逼: 你很难分清楚:倒底哪些DLL是需要打包的,哪些DLL是系统自带的.而作为打包过程中的一个小步骤,我根

动态链接库中导出模板函数

动态链接库中导出模板函数 C++ 支持函数模板,利用函数模板,可以简化我们的程序代码.我在自己的代码中也经常用到函数模板,但是以前一直以为函数模板是要放到头文件中的,否则调用模板函数时,编译器会找不到函数模板的定义.今天闲暇,又翻了翻 C++ Primer,发现我以前的理解是有问题的.模板函数也可以像普通函数那样,将声明放在头文件中,定义放在.cpp 中.这时又想到另一个问题,DLL 中是否可以导出模板函数呢.如果可以的话,就可以将函数的实现代码真正隐藏起来了.经过一番实验,发现是可以的,但是有

数据泵EXPDP导出工具和IMPDP导入工具的使用

数据泵EXPDP导出工具和IMPDP导入工具的使用  一.EXPDP和IMPDP使用说明 Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用 1)实现逻辑备份和逻辑恢复. 2)在数据库用户之间移动对象. 3)在数据库之间移动对象. 4)实现表空间搬移. 二.数据泵导出导入与传统导出导入的区别 在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵

枚举导出的函数

//枚举导出的函数 // #include <idc.idc> static main() { auto entrypoints,i,ord,addr,name,purged,file,fd; file = AskFile(1,"*.idt","Select IDT save file"); //打开文件对话框 fd = fopen(file,"w"); //以写的方式打开 entrypoints = GetEntryPointQty

实现excel导入导出功能,excel导入数据到页面中,页面数据导出生成excel文件

今天接到项目中的一个功能,要实现excel的导入,导出功能.这个看起来思路比较清楚,但是做起了就遇到了不少问题. 不过核心的问题,大家也不会遇到了.每个项目前台页面,以及数据填充方式都不一样,不过大多都是以json数据填充的.在导入excel填充json数据到页面时,真的让我差点吐血了.在做这个导入导出的时候,那一个礼拜都是黑暗的. 好了,废话不多说了,我今天就给大家展示这个两个功能的核心点,excel生成json数据和json数据生成excel文件. 一:从上传文件到服务器,后台java解析,

C++ 纯虚函数接口,标准 C 导出 DLL 函数的用法

CMakeLists.txt project(virtual) # 创建工程 virtual add_library(virtual SHARED virtual.cpp) # 创建动态连接库 libvirtual.dll add_executable(main main.cpp) # 创建运行程序 main.exe target_link_libraries(main virtual) # 让 main.exe 连接 libvirtual.dll virtual.h #pragma once

Vue导出模板、使用前端js办法导出表格数据、导入表格前端读取表格数据、导入表格发送后端读取数据

以下是几种用的较多的函数方法,可以参考使用. // 導出1 myExport() { // post請求文件寫法1 const url = 'http://XXXX/XXXX/XXXX/XXXX' const formData = new FormData() formData.append('file', '123') this.axios({ method: 'post', url: url, data: formData, responseType: 'blob' // 表明返回服務器返回

Mongodb数据导出命令mongoexport和导入命令mongoimport介绍

转载:http://blog.csdn.net/rangqiwei/article/details/15816013 一.导出工具mongoexport Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件.可以通过参数指定导出的数据项,也可以根据指定的条件导出数据.mongoexport具体用法如下所示: Shell代码   [[email protected] mongodb]# ./bin/mongoexport --help Ex