windows:QtCreator调用库的方式

在windows相关系统中,使用QtCreator无法像linux相关系统那样调用静态或动态库,需要修改添加方式才能正确执行程序
接下来需要5分钟阅读时间,来了解windows相关系统中QtCreator添加库的方式

  在QtCreator中,一般使用MinGW32或MinGW64编译工程,直接使用LIBS += -lXXXX,会产生错误提示,参考图1:

在这里插入片描述

图1 linux方式加载出错

  针对这种情况,我们首先确定MinGW属于32位还是64位,参考图2:

在这里插入图片描述

图2 在项目中查看

  点击左侧“项目”按钮,如果编译器是MinGW32,只能使用32位库;如果编译器是MinGW64,只能使用64位库。示例中的编译器是MinGW64,在实际使用时,只能使用64位库,使用32位库也会产生异常提示,参考图3:

在这里插入图片描述

图3 MinGW64使用32位库

  现在我们了解了MinGW32使用32位库,而MinGW64使用64位库,接下进入实战!


MinGW32 增加库方式

  由于MinGW在windows下存在限制,我需要指定为windows编译方式,参考图4:

在这里插入图片描述

扫描二维码关注公众号,回复: 11489780 查看本文章
图4 MinGW32增加32位库

  使用这种方式添加库,应该就可以正确使用了。
  接下来,贴上MinGW64增加库方式。

MinGW64 增加库方式

  在MinGW64中,部分库可以直接以win32形式增加库并且也可以正常使用,参考图5:

在这里插入图片描述

图5 win32方式指定64位库

  使用这种方式加载64位库,也会存在异常的情况。我在实际编程中,遇到一个64位库使用这种方式加载异常,修改为win64后可以正常使用,参考图6:

在这里插入图片描述

图6 win64方式指定64位库

  使用这种方式加载64位库,基本都可以正确执行程序,如果还是存在异常,把大括号外的win32也改为win64。

  特别说明:关于MinGW64中是否可以使用32位库,目前不明确,至少我没有使用成功…

使用winXX指定库还是无法编译通过

  在QtCreator中,使用功能按钮无法完全清除之前编译留下的残留,需要我们手动清除后再编译,参考图7:

在这里插入图片描述

图7 手动清除残留文件

  这些文件清除后,不要着急编译,首先执行qmake,参考图8:

在这里插入图片描述

图8 执行qmake

  然后点击构建项目"XXXX",或重新构建项目"XXXX"。

  好啦,经过以上步骤外部库基本都可以正常使用了。如果还是存在异常,删除编译生成的文件夹,然后再编译。

  另外,对技术、写文感兴趣的同学,可以关注一下左侧公众号!


  下面,也为大家推荐一个编程实战课程:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/a29562268/article/details/106393586
今日推荐