C++创建dll库并调用
1. 创建dll动态库
1.创建项目:文件->新建->项目,选择如下
最终生成的项目如下
2.由于我们选择了导出符号,所以需要将一些自动生成的东西去掉,只需要修改myDll.h和myDll.cpp两个文件即可。注意加上析构函数,不知道为什么VS2013创建的dll项目不带析构函数,本人小白,有知道的道友可以在评论区告知我一下
3.修改配置环境(一定要注意红色框的内容!!)
4.编写代码,写一个小测试例子
5.编译(一定要选择“生成”,重新编译!!!否则找不到生成的dll和lib)
生成的lib库和dll库如下(这里有用的只有.dll和.lib库):
2.配置调用生成的库文件
由以上步骤可以得到有用的文件:.h ,.lib , .dll文件
6.新建控制台项目
在解决方案下新建控制台项目
选择解决方案并右键->添加->新建项目,如下所示
下一步,选择如下所示
右键Test下的源文件并添加新建cpp程序,命名main.cpp
选择Test项目,右键选择将Test设为启动项(这里是因为一个解决方案中有多个项目,告诉vs从哪个项目开始启动程序)
注意,如果你的dll库是Release、x64的,那么调用这个库的项目也必须设置成相同的,因此Test的配置如下
7.dll库的静态调用
dll库的静态调用需要三个文件以及配置三个地方;
三个文件是.h文件、dll文件、lib文件;h文件是创建库时用到的或者自己定义的.h文件,dll和lib文件是编译后生成的。
三个配置是h文件路径设置、lib库路径设置、添加lib库。
比如本例没有用到别的.h文件,只有自己创建的myDll.h文件,因此只需要添加myDll.h文件所在的路径即可。如下图所示
下面先添加三个文件,单击Test项目右键选择属性,添加前的样子
添加后的样子(这里一定要注意 “配置”和“平台”的设置-------》都是血的教训!!!)
添加lib
注意:
其实还需要将dll文件复制到Test.exe所在的文件加的,但是我们的myDll.dll和Test.exe已经在同一个文件夹下了,所以就不要复制了,当你需要在别的地方调用库的时候,别忘记这一步哦~
最后一步,将库的头文件添加到Test项目的头文件中(不加也能正常使用),作为开发人员,当我们调用别人的库的时候,经常需要看.h文件里的接口,为了方便,所以还是加载进去吧。
添加后
最后一步,调用,main.cpp的内容如下:
打印结果如下:
原文链接:https://blog.csdn.net/qq_24249729/article/details/116053774