首页 > 其他分享 >【QT】创建动态链接库及使用

【QT】创建动态链接库及使用

时间:2022-11-01 12:00:18浏览次数:58  
标签:TestExe QT int 创建 动态链接库 include testdll TestDll

创建动态链接库

  1. 创建一个项目
  2. 选择library的C++库,下一步。
  3. 选择共享库,输入动态库的名字,选择创建路径,下一步
  4. 选择编译环境,下一步
  5. 选择QTCore模块,该模块提供核心的非图形用户接口功能,所有其它模块都依赖这个模块,继续下一步,直到完成。
    会看到工程中有如下文件:

编写如下代码:
testdll.h

#ifndef TESTDLL_H
#define TESTDLL_H

#include "testdll_global.h"

class TESTDLLSHARED_EXPORT TestDll
{

public:
    TestDll();

    int sum(int a,int b);
};

#endif // TESTDLL_H
`testdll.cpp`
```cpp
#include "testdll.h"


TestDll::TestDll()
{
}

int TestDll::sum(int a, int b)
{
    return a+b;
}
  1. 构建项目,会生成如下TestDll.dllTestDll.lib文件。

使用动态链接库

  1. 创建一个控制台应用程序TestExe;
  2. 把刚刚生成的TestDll.lib文件放到TestExe程序目录下;然后选中项目TestExe,右键选择添加库,选择外部库,把TestDll.lib添加进来;
    image
  3. .pro文件中会增加如下几行:
    image
  4. 编写main.cpp
#include <QCoreApplication>

#include <stdio.h>
#include "testdll.h"
#include "testdll_global.h"

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    TestDll test;
    printf("ret = %d\n",test.sum(3,4));

    return a.exec();
}
  1. 然后执行qmake-构建,构建结束后要把TestDll.dll放到生成TestExe.exe的文件夹内,然后点击运行,如下即成功。
    image

标签:TestExe,QT,int,创建,动态链接库,include,testdll,TestDll
From: https://www.cnblogs.com/Zoya-/p/12362953.html

相关文章

  • 创建对象的五种方式
    创建对象的五种方式Java中有5种创建对象的方式,下面给出它们的例子还有它们的字节码:创建对象方法是否调用构造函数使用new关键字}→调用了构造函数使用Class类的newInstanc......
  • swap分区创建与删除
    #创建swap分区1、创建一个swap文件cd/varmkdirswapddif=/dev/zeroof=swapfilebs=1024count=2000000#count代表创建2G大小,一般swap内存是物理内存的1.5倍。2......
  • .net maui blazor创建存储自定义目录文件
    stringdir="/storage/emulated/0/Android/data/com.example.myapp/data";if(!Directory.Exists(dir)){Directory.Create......
  • IDEA通过git命令切换分支 git branch -a 和 git checkout -b develop origin/develo
    IDEA通过git命令切换分支gitbranch-agitcheckout-bdeveloporigin/develop注意:如果develop分支不存在会创建分支一.场景从github上拉取的代码,导入idea之后......
  • orm创建表关系和django请求生命周期流程图 (3)
    djangoorm中如何创建表关系"""表与表之间的关系 一对多 多对多 一对一 没有关系判断表关系的方法:换位思考"""图书表出版社表作者表作者详情表"""图书和......
  • 指定创建和删除文件
    /* LinuxAPI:getotp\open\mkdir\rmdir function:选择参数实现创建对应文件和删除功能*/#include<stdlib.h>#include<fcntl.h>#include<unistd.h>#include<std......
  • Qt+VLC简单的使用显示视频Demo
    先看看效果: vlc播放视频,要比QMediaPlayer实用的多,并且同时运行20个视频时不会出现卡顿。 这个Demo功能实现非常简单,简单的说一下vlc流程:1、创建并初始化一个libvlc实例LI......
  • Qt检测U盘插入拔出Demo
    要做这个,要先知道Qt的QAbstractNativeEventFilter类,虚函数nativeEventFilter。这个类的主要作用是捕获全局windows消息。先看一下效果:基本注意以下两点:1、新建的类要继承QAb......
  • Qt5.6作浏览器Demo可查看地图
    这里用到了ui提升部件的小方法,记得设置控件为Microsoft webbrowser,先看看效果:用到ui里面的QAxWidget控件,用以下这个类来提升这个控件。#include<ActiveQt/QAxWidget>#inc......
  • Qt用Poppler库解析PDF成图片的简单示例
    解析PDF这里用的是Poppler库,与之相关的库还有MuPDF库,参考了这个链接:​​https://people.freedesktop.org/~aacid/docs/qt5/​​相关链接:​​qt显示pdf——poppler-qt问题​......