QT创建以及调用DLL(Min-GW 64-bit)

QT创建以及调用DLL(Min-GW 64-bit)

create by --MK

1. 新建一个 工程, 选择 Library --> c++ 库

2. 默认选择 共享库 --> 自定义名称 Hello_DLL --> 创建路径必须要纯英文的

3. 这里我只选择一个 kit 框架-- MinGW 64-bit , 我的是 Win7 64bit 系统,但我只有用这个 QT kit 才能正常调用 DLL , 暂时无解,望高手解答

4. 按照各自需求选择你可能会用到的 QT 库, 我的项目是Socket 通信 , 所以我勾选了以下三个, 但是这个 demo 暂时用不上 QtWidgets 和 QtNetwork 这两个库,仅供演示

5. 自定义你喜欢的 nice 的类名吧

6.这里我用编译器默认选项, 啥也不操作, 直接点击 ---完成(F)

7. 看到没, 出来了, 接下来就弄你的 dll

8. 双击 hello_dll.h 头文件 , 在 public 下自定义我的 DLL 函数 sayHello();

9. 双击 hello_dll.cpp 文件, 实现我的 DLL 函数 sayHello();

注意 , qDebug 函数的调用要先导入头文件 "qdebug.h"

10. 来到 项目 --> 构建目录 , 这里修改成你自己项目的路径 , 再接一个 bin 路径 (方便查找编译后生成的 debug 和 release 文件夹) --> 最后 点击 ? 编译一下 (编译没有报错即可)

11. 回到你的工程目录 , 找到你刚刚编译生成的 DLL 文件, 看到这个路径没, 就是我上面修改的路径, 因为我是在 debug 模式下编译的, 所以 debug 文件夹就会生成 DLL文件 , 至此, DLL 创建完成

===================================================

分水岭 , 为什么有分水岭这个叫法 oh , that's not my business

===================================================

12. 调用生成的 DLL , 新建一个 窗体程序

13.我命名 TEST_HELLO , 你们自己注意项目存放的路径

14. ok, 又选择 kit , 当然是选择跟 DLL 一样的 kit 框架啊 , 我依然选择 MinGW 64-bit

15.自己定义一个喜欢又 nice 的类名哈

16. 没办法, 太懒了, 依旧是默认选项配置, 直接点击 完成(F) 按钮

17. 看到没, 生成了项目, 写这一步没啥意义 , 纯粹刷一下存在感

18. 回到 Hello_DLL 工程路径 , 找到要用的 .h(header) 头文件复制到 TEST_HELLO 工程的路径下

19. 在 Hello_DLL工程下, 把 debug 文件夹里生成的 DLL文件全部复制到 TEST_HELLO 工程的路径下

20. 回到 TEST_HELLO工程, 右键点击编译器 , 弹出的菜单中 --> 添加现有文件...

21. 选中刚刚复制进来的两个头文件以及 DLL文件一起 添加进 TEST_HELLO 的工程中

22. 配置 TEST_HELLO 的编译路径, 不建议用系统默认的路径,我还是在 本地路径下 加个 bin 目录

23. 随便加个控件, 我们在控件上测试我们的 DLL

24. 来到 mainwindow.cpp 文件 , 导入我的头文件 ,在控件函数中创建对象并引用我的 sayHello() 函数-->看到没有报错很兴奋? 就直接点击?编译了 ? 编译后马上报错 ? 这就对了 ....

25. 虽然报错了, 别急, 人家 QT还是给你生了个 debug 娃, 把 Hello_DLL.dll 文件拷贝进刚刚编译后生产的 debug 文件娃中

26. 还想编译? 别急 , 来到 TEST_HELLO.pro 文件下code一下

甭管什么位置了, 就在最下方 , 加入脚本路径

# C:\QT_Project\TEST_HELLO\bin\debug 这是我直接复制系统的路径格式,实际上这里需要用反斜杠才能被识别

LIBS += C:/QT_Project/TEST_HELLO/bin/debug/Hello_DLL.dll

27 . 好了, 大神们, 可以按你个 ?了, 最后点击 △运行 秀起来

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt创建调用DLL(动态链接库)可以通过以下步骤实现: 1. 创建DLL项目: 在Qt Creator中选择“新建项目”,选择Qt Widgets Application。然后在下一步选择“库”选项,选中“动态库”,点击“下一步”进行设置。命名项目并选择保存路径,然后点击“完成”创建DLL项目。 2. 实现DLL函数: 在DLL项目中的.cpp源文件中编写要导出的函数。例如,创建一个函数来计算两个整数的和: ```cpp int sum(int a, int b) { return a + b; } ``` 3. 导出函数: 在DLL项目的.h头文件中声明要导出的函数。在函数声明前添加宏定义`__declspec(dllexport)`,以指定该函数为导出函数: ```cpp #ifndef MYDLL_H #define MYDLL_H #include <QtGlobal> #if defined(MYDLL_LIBRARY) # define MYDLL_EXPORT Q_DECL_EXPORT #else # define MYDLL_EXPORT Q_DECL_IMPORT #endif extern "C" MYDLL_EXPORT int sum(int a, int b); #endif // MYDLL_H ``` 4. 生成DLL文件: 在Qt Creator中使用编译器构建项目,生成DLL文件。 5. 调用DLL函数: 在另外的Qt项目中,将DLL文件复制到该项目的目录下。然后在.pro文件中添加以下内容: ``` LIBS += -L$$PWD/ -lmydll INCLUDEPATH += $$PWD/ DEPENDPATH += $$PWD/ ``` 然后在.cpp源文件中包含头文件并调用DLL函数: ```cpp #include "mydll.h" int result = sum(5, 3); ``` 确保程序可以找到DLL文件并进行执行。 通过上述步骤,就可以在Qt中成功创建调用DLL文件了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值