Qt5.15生成和调用dll动态库文件

        最近需要把部分功能打包给其他小组用,结果反馈VS2019生成的dll动态库在Qt内调用不成功,无奈又拿Qt封装了一遍,记录下;

一、Qt生成dll动态库

        先说版本,Qt5.15.1;

1、Qt内新建项目-Library-C++Library,type选shared library;    

Qt5.15生成和调用dll动态库文件_第1张图片    

Qt5.15生成和调用dll动态库文件_第2张图片

        生成的项目自动包含了管理pro文件、h头文件、cpp源文件; 

Qt5.15生成和调用dll动态库文件_第3张图片

2、在头文件内完成声明;

#ifndef FUN_DLL_H
#define FUN_DLL_H

#include "fun_dll_global.h"

class FUN_DLL_EXPORT Fun_dll
{
public:
    Fun_dll();
    int fun_add(int a, int b);
};

#endif // FUN_DLL_H

3、在源文件中完成实现;

#include "fun_dll.h"

Fun_dll::Fun_dll()
{
}
int Fun_dll::fun_add(int a, int b)
{
    return a + b;
}

4、运行,可以看到在默认路径下生成了需要的dll和lib文件;

 Qt5.15生成和调用dll动态库文件_第4张图片

二、Qt内动态库的调用

1、新建一个测试项目,这里选取了Qt的控制台项目,建立后自动包含了Pro、h、cpp文件;

Qt5.15生成和调用dll动态库文件_第5张图片

 2、拷贝,将生成的dll文件、lib文件及.h头文件拷至新的工程目录下;

Qt5.15生成和调用dll动态库文件_第6张图片

 3、右键工程文件-添加库-库类型选外部库-参数如下图所示,完成后自动在pro文件内添加了相应路径;

Qt5.15生成和调用dll动态库文件_第7张图片

Qt5.15生成和调用dll动态库文件_第8张图片

4、右键工程文件-添加现有文件,将相应的头文件添加到测试工程中去;

Qt5.15生成和调用dll动态库文件_第9张图片

 5、在源码中引入头文件,并测试,成功调用;

Qt5.15生成和调用dll动态库文件_第10张图片

         至于为何VS2019生成的dll动态库无法在QT中调用的原因,请大佬指导,报错是找不到对应的函数,extern C已加;

你可能感兴趣的:(qt,c++,visual,studio)