基于Linux的deepin系统使用QTCreator创建动态链接库与使用

一、创建动态链接库

1、新建项目

第一步选择Library

第二步选择C++Library

第三步选择Choose

之后第一步设置名称

第二步选择路径

第三步点击下一步

然后一直点击下一步到如下页面

说明创建静态链接库和动态链接库类似

创建动态链接库选择Shared Library

创建静态链接库选择Statically Linked Library

我们创建动态链接库选择Shared Library然后点击下一步

然后一直下一步知道完成

2、设置项目

为了使用更方便我们将图中Test_global.h中蓝色代码部分复制到test.h中下图

若不复制到test.h中则在使用时需要把Test_global.h头文件也包含进去,不然无法使用该测试函数。

之后将Test_global.h文件删除掉并且把test.h中#include <Test_global.h>删除

3、进行代码设置

在test.h中声明一个函数MyTest()如图

在test.cpp定义该函数体

选择Release点击运行

因为没有可执行文件并不能运行会报如下问题,不用管它,到此说明动态链接库设置成功了。

4、结果

在生成的文件夹里会出现如下四个libTest文件,再将test.h放入该文件夹,则该文件夹就可以给别人使用了。

二、使用动态链接库

1、创建TestLib项目

2、导入库

右击该项目点击添加库

选择外部库点击下一步

库文件选择刚才生成四个文件中的.so文件

平台选择Linux

点击下一步直到完成

导入之后在.pro文件中可以看到如下效果

3、导入头文件

添加现有文件

选择刚才生成目录里添加的头文件test.h

4、实现代码

在widget.h代码

添加头文件

定义成员变量和测试函数

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include "test.h"  //包含头文件

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

    //成员变量
    Test m_Test;
    
    //测试动态链接库
    void LibTest();  //测试

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

在widget.cpp中实现该MyTest()函数,函数中用到qDebug需导入QDebug头文件

在构造函数中调用该测试函数

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    
    //调用测试函数
    this->LibTest();
}

Widget::~Widget()
{
    delete ui;
}

void Widget::LibTest()
{
    qDebug() << m_Test.MyTest(4,6);
}

5、结果

点击运行可以看到运用程序输出看到如下结果说明测试成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值