在vs+Qt中可以创建两种类型的动态库,一种是C++型的,一种是具有Qt框架型的,本文介绍具有Qt框架型的动态库的创建及使用。
一、右键点击解决方案>>添加>>新建项目
二、Visual C++>>跨平台>>Qt>>Qt Class Library>>确定
三、Next
四、vs2017用的编译器一版都是msvc2017,根据自己情况选择Debug或者Release版本,Qt Modlues根据自己需要添加,现在不添加没关系,后期需要仍可添加,这里我直接点击Next。
五、不要选择Create Static Library选项,最后点击Finish建立完成.。Static Library干嘛用的我也没接触到,欢迎评论区解答。
六、建立好的动态库又这三个文件。
七、接再来是使用。右键点击你的入口项目>>生成依赖项>>项目依赖项>>将你的动态里打勾
这样设置可以在你编译主程序前先更新你的动态库程序。
八、接下来这一步网上有很多方法,这里使用的是其中一种。在动态库的cpp文件中写好测试函数,右键点击动态库项目,点击生成。
x64/Debug文件会看到生成Dll.dll和Dll.lib文件。
九、在mian 函数中包含"Dll.h"和"Dll.lib",直接在包含的适合写上路径,不用再属性中配置。再main函数中实例化一个Dll的对象,调用方法test(),并运行。
#include "QtWidgetsApplication1.h"
#include <QtWidgets/QApplication>
#include "../Dll/Dll.h"
#pragma comment(lib,"../x64/Debug/Dll.lib")
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Dll t;
t.test();
QtWidgetsApplication1 w;
w.show();
return a.exec();
}
运行成功,打印出test。完成