QT5.14.1调用动态链接库

December 09, 2023
测试
测试
测试
测试
3 分钟阅读

一、创建项目

1、创建项目

New -> Application -> Qt Console Application -> Choose

由于是测试项目,这里选择控制台应用,快速且方便查看

2、项目名称

这里的项目名称:DllConsole,之后一直默认选择点击下一步

3、语言选择

语言可以选择中文或者不选择,这里默认选择为None

4、选择编译器

编译器这里默认选择全部,推荐默认全选

5、版本控制

需要Git同步代码则选择Git配置,否则默认为None

二、添加动态链接库

1、拷贝文件

上文提到的生成动态链接库的三个重要文件 .dll文件、.h文件、_global.h文件

将这三个文件拷贝到项目的根目录中

2、查看文件

将这三个文件拷贝到当前项目的目录下,拷贝后项目目录文件如下

三、配置动态链接库(重点)

1、三种配置语法

(1)绝对路径写法(windows环境)

# 绝对路径写法
LIBS += -L"F:\C++WorkSpace\Qt\Qt5.14.1\DllConsole" \
        -lInitDll

(2)相对路径写法(windows环境)

# 相对路径写法
LIBS += -L$$PWD/./ -lInitDll

(3)标准路径写法(Linux和windows环境)

# Linux环境下写法
unix|win32: LIBS += -L$$PWD/ -lInitDll
#unix|win32: LIBS += -L$$PWD/./ -lInitDll

2、语法规则介绍

例如:LIBS += -L"pathdir"  -lfilename

(1)pathdir:指的是 dll 文件所在的目录

pathdir可以是绝对路径也可以是相对路径

绝对路径的写法和windows或者Linux下的写法一致

(2)$$PWD/: 指的项目的根目录

./ 也代表的是项目的当前目录

../ 代表当前目录的上一级目录

(3)filename:指的是 dll 文件的文件名称

比如我的dll文件名称是 InitDll.dll

那么filename就应该是 InitDll 这里要求大小写一致

3、取消编译目录

如果想要编译文件和源文件在同一个目录,则点击 Shadow build勾选框取消勾选

四、调用动态链接库

main.cpp

#include 
#include "initdll.h"
#include 

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    qDebug() << "111111111";
    InitDll init;
    QString str =  init.print("hello world!");
    qDebug() << str;
    int n ;
    n = init.add(1,2);
    qDebug() << n;

    return a.exec();
}

五、构建项目

鼠标右击项目,点击构建

构建完之后,在项目目录下可以发现生产了 .exe 文件则表示构建成功

六、运行项目

鼠标右击项目,点击运行

七、运行结果

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多