qt5将程序打包并使用

一、封装程序

(1)、点击创建项目->库->c++library

(2)、填写自己想要封装成库的名称,这里我填写的名称为mydll1

(3)、如果没有特殊的要求,则一路下一步,最终会出现如下文件列表。

(4)、删除mydll1_global.h文件,编写mydll1.h文件内容如下:

其中class Q_DECL_EXPORT Mydll为需要封装的类名,可以在类中编写相关函数,在上述例子中,我们编写了一个add函数。

cpp 复制代码
extern "C"
{
    Q_DECL_EXPORT int add(int a, int b);
}

上述代码含义为,该函数可以被C语言或其他语言调用,同时这个函数是导出(export)的,意味着它可以从动态链接库(DLL)中被外部程序访问。

(5)、编写函数的实现,在对应的.cpp中

编写完成后选择release模式,点击编译(小锤子):

此时会在创建项目的文件夹中的"Mydll1\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Release\release"找到"mydll1.dll"和"mydll.lib"。此时代码封装完成。

二、调用封装好的程序

(1)、创建一个名为test的新项目将之前打包程序中的"mydll1.h"的头文件粘贴到该项目下:
(2)、release模式,点击编译(小锤子)

(3)、此时会在项目的根目录下会出现如下路径:test\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Release\release

将封装好的mydll1.dll、mydll1.lib粘贴到如上位置。并将mydll1.lib的路径添加到test.pro中。

LIBS+=PATH\test\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Release\release\mydll1.lib。

(4)、在test的主函数中引用mydll1.h的头文件。并调用add函数:

点击运行,调用成功。

相关推荐
devilnumber16 小时前
Java 递归算法 详解 + 核心要点 + 实战运用 + 避坑指南
java·开发语言·算法
asdfg125896318 小时前
JavaBean是什么?怎么理解?有什么用途?
java·开发语言
dsyyyyy110118 小时前
JavaScript变量
开发语言·javascript·ecmascript
z落落19 小时前
C#WinForm 窗体切换与窗体传值(登录跳转案例)+WinForm 窗体传值(从上往下传、从下往上传)
开发语言·windows·c#
allway219 小时前
How to Echo Multiline to a File in Bash [3 Methods]
开发语言·chrome·bash
weixin_4624462319 小时前
手把手教你用 Bash 脚本自动更新 /etc/hosts —— 自动绑定网卡 IP 与节点名
开发语言·tcp/ip·bash
一个梦醒了19 小时前
安装git bash选项推荐
开发语言·git·bash
ct97819 小时前
React 状态管理方案深度对比
开发语言·前端·react
数量技术宅20 小时前
2026量化前沿:从Reddit热帖到Python实战,如何用赫斯特指数(Hurst)狙击虚假突破?
开发语言·python
华如锦20 小时前
面了很多 Java转AI Agent方向,一些面试题总结
java·开发语言·人工智能·python·ai