【Qt专栏】Qt创建和调用动态链接库


提示:Qt版本为Qt5.9.6

一、创建动态链接库

  1. 单击“文件”后,单击“新建文件项目”菜单项。
    转载请注明来源
  2. 选择“Library”后选择“C++库”,然后点击“选择”。
    转载请注明来源
  3. 类型选择“共享库”,名称自定义,路径自己选择,完成以上后点击“下一步”。
    转载请注明来源
  4. 这里编译工具我选择默认,点击“下一步”。Qt MinGW与MSVC对比
    转载请注明来源
  5. 默认选择“QtCore”模块,然后点击“下一步”。
    转载请注明来源
  6. 类名默认会和DLL的名称一致,可自行修改,点击“下一步”。
    转载请注明来源
  7. 版本控制系统默认是“None”,这里有“Git”项是我电脑上安装了Git,点击“完成”。
    转载请注明来源
  8. 点击最左侧“项目”项,在“编译构建配置”处把相应的“Shadow build”勾去掉,这样构建目录会生成在当前DLL的目录下。
    转载请注明来源
  9. 创建完成后会自动生成以下文件。

一个共享库导出给用户使用的类,符号,函数等都需要用宏 Q_DECL_EXPORT 来定义导出,一个使用共享库的应用程序需要通过 Q_DECL_IMPORT 导入共享库的可用对象。
转载请注明来源

  1. 自行添加接口,这里我接口添加如下,编译工具使用MINGW 32bit,release模式下进行编译。

1:若使用MSVC编译,编译后会生成“库名称.dll”和“库名称.lib”两个文件,“库名称.dll”在运行应用程序时调用,“库名称.lib”在应用程序隐式调用DLL时使用。
2:若使用MinGW编译,编译后会生成“库名称.dll”和“lib+库名称.a”两个文件,“库名称.dll”在运行应用程序时调用,“lib+库名称.a”在应用程序隐式调用DLL时使用
转载请注明来源描述

  1. 按“ctrl+r”键后出现如下图,恭喜你,一个简单的DLL创建成功了。
    转载请注明来源

二、调用动态链接库

调用方式一(推荐使用)

  1. 新建一个项目后,在项目所在目录下新建一个 lib 目录,将上述生成的库和头文件添加到 lib 目录下,如下图。
    在这里插入图片描述
  2. 回到QtCreator创建的项目中,点击最右侧的项目一栏,然后在构建设置下去掉 “Shadow build” 的勾选项,让exe生成到当前项目的路径下。
    在这里插入图片描述
  3. 在 “项目名称.pro” 文件中,指定库路径(注意在LIBS一行,记得在库名称“Calculator”前加-l)
    在这里插入图片描述

调用方式二

  1. 新建一个项目,右击项目名称后,选择“添加库”项。
    转载请注明来源
  2. 勾选“外部库”,点击“下一步”。
    转载请注明来源
  3. 库文件选择“浏览”,找到你创建的动态链接库位置。转载请注明来源
    这里为我的DLL文件位置,仅供参考转载请注明来源
  4. 点击“完成”。
    转载请注明来源
  5. 点击“项目名称.pro”文件,会自动添加如下内容。转载请注明来源
  6. 添加库里的头文件,右击项目“执行qmake”和“构建”,“ctrl+r”运行项目后,会出现如下错误。
    转载请注明来源
    解决:在“项目名称.pro”文件里,按如下图操作,因为包含的头文件不在release目录下。
    转载请注明来源
  7. 测试上面的动态链接库操作如下视频所示,仅供参考哈。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拉伊卜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值