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

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

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

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

先新建一个库项目

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

再点击下一步到

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

再点击下一步直到完成

我们在.pro文件里加上

DESTDIR =Mydll

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

点击项目把Shadow build 去掉勾选

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

把sld.h修改成这样

#ifndef SLD_H
#define SLD_H


#include "sld_global.h"
#include 

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 

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


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

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


在mydll目录找到生成的 sld.dll,注意debug和release都生成在mydll目录下。这里只有dll没有lib。

总结:

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




你可能感兴趣的:(QT学习资料)