QT5.1编写及调用DLL.

转载 2013年12月04日 22:39:59

一:编写DLL库

1:新建项目->选择C++ Library->选择共享库->改类名(如Hellowadd)

2:在头文件中增加add方法如下:

#ifndef HELLOADD_H
#define HELLOADD_H

#include "helloadd_global.h"

class HELLOADDSHARED_EXPORT Helloadd
{
    
public:
    Helloadd();
    int add(int ,int);
};

#endif // HELLOADD_H

 hellowadd.cpp文件

#include "helloadd.h"


Helloadd::Helloadd()
{
}
 int Helloadd::add(int b ,int c){
     return b+c;
 }

 

3.编绎后,自动生成DLL(在Debug或Release目录下生成名为helloadd.dll的文件)

 

二:gui项目调用DLL

新建一个gui项目名yin3dll.

1.在新项目.Pro文件中添加一句

LIBS +="helloadd.dll"

2.将DLL项目的所有.h文件copy到项目中,直接引用第三方的头文件就可以吧

3.点击F5后会生成debug文件夹.将helloadd.dll放到调试build-yin3dll-Desktop_Qt_5_1_0_MinGW_32bit-Debug文件夹根目录中(不要放入此文件夹含有的Debug和release2个文件夹中).

4.

mainwindow.cpp中引用头文件 #include <hellowadd.h>

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include"helloadd.h"
#include"QDebug"
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    Helloadd addm;
    qDebug()<< addm.add(3,4);
}

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

这时qt中会输出7.

相关文章推荐

QT程序自动寻找依赖的DLL(Qt官方开发环境生成的exe发布方式--使用windeployqt)

Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll, 如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。 因此 Qt 官方开发环境里自...

将QT开发的界面程序封装成DLL,在VC中成功调用

最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后再动态调用DLL给出的接口函数,使封装在DLL内部的QT界面跑起来,在网上查了很多资料,今天终于成功了,经验不敢独享,因为CSDN给了我很多...

Qt中的动态链接库编程

1:Qt中的动态链接库编程     使用C++面向对象的类编写DLL是要注意很多细节的,主要是二进制(ABI)兼容问题。COM是一个很成功的例子,只要符合COM的规范,我们就能编写出很好的DLL来...

Qt编写DLL

最近突然对dll比较感兴趣,开始自己用vs写了几个dll测试了一下,后来突然想知道Qt是怎么实现的。就到网上去找资料,发现一位csdn的博友写的不错,就把他的copy过来了,主要是为了加深映象和方便自...

DLL在Qt中的创建与使用

学习之前先了解一下链接库的基本知识链接库预备知识 库包含静态链接库 动态连接库 (动态装载:静态绑定与动态绑定) 目前以lib后缀的库有两种, 一种为静态链接库(Static Libary,以下简称“...

QT创建与调用Dll方法

创建QT中的一个DLL,如下图选择: 效果如图所示: 下面是代码: dll.h:: #ifndef DLL_H #define DLL_H #include using namespace std...

QT总结第3篇:如何在QT中添加.lib,.dll还有.h文件

因为我在工作的过程中,使用的是第三方提供的库,但是如何将这些库添加到QT的工程中,是个问题,让我恼火了很久,怎么弄都是错的。 下面,我会对这个问题,进行叙述,希望其他人第一次遇到这种问题的时候,可...

QT生成DLL,调用DLL

使一个项目编译生成DLL库而不生成可执行文件: 删除main()函数; 将.pro项目文件中的TEMPLATE = app改为TEMPLATE = lib。 然后编译,此时生成的就是.a和.dll的文...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)