qt在Windows下调用动态库

原来调用动态库采用先定义函数

typedefint(*funCD109_Init)(int);

再加载库的方式

    QLibrary mylib1("TSCLib.dll");
    //判断是否正确加载
    if(mylib1.load())
    {
        //调用外部函数 add()
         if(tscclearbuffer == NULL)
        {
             return false;
        }
    }
今天用另一种方式调用qt生成的动态库:动态库内调用动态库,直接可以使用函数,更方便些。

1、将cclib.dll,cclib_global.h和 iclib.h拷贝到程序目录

2、新建立个qt应用,加入存在的文件cclib.h,cclib_global.h。

3、修改ccdemo.pro,增加LIBS+=-L$$PWD -lcclib

4、在mainwindow.cpp增加头文件,

    Cclib ttt;
    QString ls_str=ttt.read();
    ui->label->setText(ls_str);

5\将cc_32.dll拷贝到debug目录(程序运行目录)

ccdemo.pro:

#-------------------------------------------------
#
# Project created by QtCreator 2016-05-26T08:57:42
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = ccdemo
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h \
    cclib_global.h \
    cclib.h

FORMS    += mainwindow.ui
LIBS+=-L$$PWD -lcclib
mainwindow.cpp:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<cclib.h>
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    Cclib ttt;
    QString ls_str=ttt.read();
    ui->label->setText(ls_str);
}

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值