在VS2015中用C++创建MFC规则动态库DLL

一个朋友让我帮忙把一个人用c写的函数生成为动态链接库文件(*.dll)以便用其他编程语言调用,找了好久一直失败,之后发现一个帖子讲的很全,而且亲测成功,这里转过来。

VS2015用C++创建MFC规则动态库DLL步骤如下:

(1)启动VS2015》文件》新建》项目,按下图进行选择填写

在VS2015中用C++创建MFC规则动态库DLL_第1张图片

(2)在MFC DLL向导中选择【下一步】

在VS2015中用C++创建MFC规则动态库DLL_第2张图片

(3)按下图所示进行选择

在VS2015中用C++创建MFC规则动态库DLL_第3张图片

(4)项目创建后整体效果如下图

在VS2015中用C++创建MFC规则动态库DLL_第4张图片

(5)在MFCDLLTest.cpp中写入下图红框中的代码

在VS2015中用C++创建MFC规则动态库DLL_第5张图片

(6)在MFCDLLTest.h中写入下图红框中的代码,在MFC动态库中.h文件是不能省的,并且extern "C"也是不可以省略的

在VS2015中用C++创建MFC规则动态库DLL_第6张图片

(7)在MFCDLLTest.def中写入下图红框中的代码

在VS2015中用C++创建MFC规则动态库DLL_第7张图片

(8)在项目上右击选择属性,注意是项目不是解决方案,进行如下修改

在VS2015中用C++创建MFC规则动态库DLL_第8张图片

通过上面的勾选,生成的动态库就可以摆脱对VS2015安装环境的依赖,从而可以被其它语言调用

(9)在生成解决方案前先进行如下修改,CPU选X86还是X64随便你啦,在生成菜单中生成MFCDLLTest即可,在Release文件夹下找到dll文件ok了

在VS2015中用C++创建MFC规则动态库DLL_第9张图片

(10)请注意一定要是Release模式而不能是Debug模式,否则生成的动态库DLL文件还是不能被其他语言调用,即使将Debug模式按上面两个步骤进行更改也是不可以的,原因现在还不清除,估计可能是VS2015的问题。可查看Release文件夹和Debug文件夹中生成的动态库DLL文件的大小也是不同的。

(11)用def文件导出的动态库DLL既可以保证函数名不变也可以保证动态库DLL的入口点函数名不变。


你可能感兴趣的:(C/C++)