动态链接库的制作方法

最近项目中需要将自己代码做成动态库的形式交给人,没办法硬着头皮学了一下,感觉网上好多这方面的资料都讲的一知半解,很难理解,在此讲一下我的方法,希望能有点帮助。

步骤1:

首先新建一个工程,选择Win32控制程序,我用的是2017,其他版本类似:

动态链接库的制作方法步骤2:

选择下一步,应用程序类型选择DLL,附加选项选择导出符号,点击完成。

动态链接库的制作方法

随后你会出现如下界面:

动态链接库的制作方法

这个工程你只需要更改test.h和test.c里面的内容就可以。

步骤3:

将你做好的.h和.c文件拷到项目中,并添加到工程:

动态链接库的制作方法

步骤4:

将你以前主函数里面调用的函数,数据全部封装到test类里面,如上图中我封装了输入数据类型Input,输出数据类型Output,还有一些我需要用到的数据类型,函数有offlinprojectRun,相应的这就是我以前main函数调用要用到的函数。封装好后进行编译。

步骤5:

动态链接库的制作方法

编译过程中会出现如下错误,如果没有出现上述错误的可以跳过本步骤。解决该问题的方法如下:右击你工程中用到的.cpp文件->属性->c/c++->预编译头,完成上述步骤及出现如下界面:

动态链接库的制作方法

点击不使用预编译头,这里需要将所有的.cpp文件都进行上述操作,感觉很麻烦,但是我.cpp文件少,无所谓了,之后重新编译。

动态链接库的制作方法

这里生成了.dll和.lib文件。

之后如果你需要调用动态链接库的话只需要将上述.dll,.lib,.h文件拷入到工程下,然后添加进项目中,如此,我们就可以通过调用test.h中的函数就能将以前的所有的工程运行成功。这样做的好处就是别人能用你的程序,但是无法知道你的源码。