QT5中动态链接库的创建和调用(一)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/vample/article/details/78841945

记录一下QT5 动态链接库的创建和使用

在文章的最后有完成的代码供下载

1.创建动态链接库(共享库)

先新建一个库项目

选择chose进入下一下页面,类型选择共享库,输入一个名称:我输入的是sld

再点击下一步到

如果这里我们需要QtGui所以也勾选上了

再点击下一步直到完成

我们在.pro文件里加上

DESTDIR =Mydll

它的意思是我们把生成的内容放到这个文件夹里,如果没有它会自动生成

点击项目把Shadow build 去掉勾选

设置完成后我们来实现方法测试

把sld.h修改成这样

#ifndef SLD_H
#define SLD_H


#include "sld_global.h"
#include <QString>

class SLDSHARED_EXPORT Sld
{
public :
    Sld();
    QString GetStr();
};

extern "C" SLDSHARED_EXPORT Q_DECL_EXPORT int add(int i,int j); //外部函数定义,必须加上extern声明
#endif


sld.cpp

#include "sld.h"
#include <QDebug>

Sld::Sld()
{
    qDebug()<<"";
}


QString Sld::GetStr()
{
    return "aa";
}

//外部函数
int add(int i, int j)
{
    return i+j;
}





总结:

  1. 建立好项目后生成三个文件,两个.h一个.cpp。
  2. QTCreator+MinGW编译生成sld.dll、libsld.a、sld.o三个文件
  3. VS编译会生成sld.dll sld.lib sld.o三个文件 




展开阅读全文

没有更多推荐了,返回首页