在Vs 2019 导入Qt 开发的外部dll 文件并使用

在Vs 2019 导入Qt 开发的外部dll 文件并使用

1. 写在前面

在实际项目开发中,很多模块是以dll 的方式存在的,需要使用对应模块的方法时,引入对应的dll和.h文件,直接调用即可。

这种方式做到了软件开发的隔离,但是对我们的日常调试产生了一定的困扰!如何对生成dll 的项目进行调试,有两种方式:

  1. 新建项目,引入要调试的dll 项目文件,在新的项目中调试对应的代码
  2. 直接和实体的release项目合作,借助实体程序进行代码调试

​ 本文主要讲如何新建项目,导入调试的dll 文件

2. 在Visual Studio 2019中创建Qt DLL项目

首先,确保已经在Visual Studio中安装了Qt扩展请自行搜索),并配置好Qt版本(必须)。

  • 打开Visual Studio 2019(你可使用任何你中意的编译环境,但那就不是本文的介绍范围了),选择“创建新项目”。
  • 在搜索框中输入“Qt”,选择“Qt Library Project”。(当然你可以选择其他的模板,只要配置好导出都是可以的(后文有介绍),见参考链接

  • 输入项目名称,选择合适的位置保存项目,并点击“创建”。
  • 在弹出的Qt Project Settings对话框中,选择合适的Qt版本和模块(如QtCore、QtGui等),然后点击“确定”。

image-20240612214717969

image-20240612214934878

3. 编辑程序

为了从DLL中导出类或函数,需要使用宏定义来控制导出(有不懂的可以看参考链接)。在Qt项目中,通常在头文件中定义如下宏:

#if defined(MYLIB_LIBRARY)
#  define MYLIB_EXPORT Q_DECL_EXPORT
#else
#  define MYLIB_EXPORT Q_DECL_IMPORT
#endif

并在需要导出的类头文件中添加 Q_DECL_EXPORT 确定头文件可用

class MYLIB_EXPORT MyClass {
public:
    void myFunction();
};

如图:image-20240612215218335

在新项目中需要使用的接口类均需要在类定义时 Q_DECL_EXPORT宏,否则会报LNK2001找不到对应的头文件

image-20240612215547764

4. 导出lib 和dll 文件

在完成项目的编辑后,就可以生成在其他项目中使用的dll 文件了,点击生成,dll和lib 文件会生成在项目的输出目录中(*.lib只是用在编译器链接编译),如果你对lib 的使用仍有疑问,可查看参考链接,应该能解决你的疑问。

你可以通过下图中的两种方式找到文件的输出目录:

  • 点击生成,查看输出窗口,会输出dll和lib 文件的输出目录
  • 项目->右键 属性 ->常规-> 输出目录-> 点击浏览

image-20240616200759677

这样你应该就生成并找到了dll 文件和lib 文件了

5.导入DLL并使用

如何导入dll 文件,我认为不是什么难点,但是有几点必须:

  • 在属性-> C++ -> 常规 中设置dll 对应的.h 所在的目录

    image-20240616201532472

  • 在链接器-> 常规 -> 附加库目录中添加lib 所在目录

    image-20240616201643849

  • 在链接器-> 输入-> 附加依赖项中添加lib文件

image-20240616201748989

之后,你应该就可以愉快调用dll 中的方法,并尽情使用了!!!(如果配置过程中,遇到了什么问题,欢迎私信或邮件king@3469.top)

6.参考链接
  • 14
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值