在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:

图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"。

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

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

下面,也为大家推荐一个编程实战课程:

windows:QtCreator调用库的方式相关推荐

  1. 计算机中的文件资源组织方式是什么意思,Windows中的库是什么,以及如何使用它们来组织文件 | MOS86...

    库是最容易被误解的,也是Windows中最有用的功能之一.它们可以帮助用户有效地组织文件和文件夹.通过使用库,您可以构建一个系统,以便始终可以在几秒钟内找到所需内容.不仅如此,您还可以通过点击几下(或 ...

  2. 摈弃 Windows 低效率的工作方式,发掘 Linux 身上的 UNIX 气质

     [原文链接] 摈弃 Windows 低效率的工作方式,发掘 Linux 身上的 UNIX 气质 我已经半年没有使用 Windows 的方式工作了.Linux 高效的完成了我所有的工作. GNU/Li ...

  3. C/C++:Windows编程—调用DLL程序的2种方法

    前言 先简单介绍下DLL.DLL:Dynamic Link Library 动态链接库 是一个被其他应用程序调用的程序模块,其中封装了可以被调用的资源或函数.DLL 文件属于可执行文件,它符合Wind ...

  4. 编译c语言动态库,使用gcc、g++编译C/C++源程序,静态库和动态库创建方式

    后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序: 后缀为.cpp的,两者都会认为是c++程序. 注意,虽然c++是c的超集,但是两者对语法的要求是有区别的. 编译阶段,g++会调用gc ...

  5. python库的调用三种方法_python中调用库的方法

    python中调用库的方法 发布时间:2020-09-02 11:41:21 来源:亿速云 阅读:93 作者:小新 小编给大家分享一下python中调用库的方法,希望大家阅读完这篇文章后大所收获,下面 ...

  6. 短小强悍的JavaScript异步调用库

    原文链接:  7 lines JavaScript library for calling asynchronous functions  翻译人员: 铁锚 翻译时间: 2014年02月18日 示例地 ...

  7. windows .exe 文件默认打开方式变成记事本的解决方法

    windows .exe 文件默认打开方式变成记事本的解决方法 如果cmd.exe打不开,先将默认打开方式切换成cmd.exe 如果用户选择了默认的模式,会在注册表中写一个UserChoice的注册信 ...

  8. 标准C函数库头文件、POSIX标准库头文件和Windows API函数库头文件说明

    1. 标准C函数库头文件 名字 源自 描述 <assert.h> 包含断言宏,被用来在程序的调试版本中帮助检测逻辑错误以及其他类型的bug. <complex.h> C99 一 ...

  9. 目标检测 YOLOv5 - ncnn模型的加密 C++实现封装库和Android调用库示例

    目标检测 YOLOv5 - ncnn模型的加密 C++实现封装库和Android调用库示例 flyfish 文章目录 目标检测 YOLOv5 - ncnn模型的加密 C++实现封装库和Android调 ...

最新文章

  1. Fisheye camera
  2. 最好用的在线思维导图软件
  3. eclipse菜单字体乱码的解决
  4. Tarjan算法学习1-双连通
  5. 10分钟了解JSON Web令牌(JWT)
  6. Spring Cloud生态系统
  7. mybatis插入数据后返回自增主键ID详解
  8. DCMTK:wwwapp instalation
  9. 总有几位老师让你一生感激不尽----我的大学老师
  10. python单词的含义-Python常用英文单词有哪些?
  11. perl统计http日志ip
  12. 再见了,Docker Desktop!
  13. ERDAS遥感影像处理-专题图制作
  14. deepin C++ 编译错误 file not found 其实是原文件后缀的问题
  15. LayaBox ARPG游戏副本之《帮派联赛》水晶占领核心玩法详解
  16. (4) STM32 AS608指纹识别模块测试代码
  17. xml中foreach循环
  18. 用Python登陆新版正方教务系统获取课程表(及RSA加密密码实现)
  19. PTA 7-9 叶节点求和 (20 分)
  20. 证券基金行业那些智能XX——智能客服

热门文章

  1. Spring Cloud Alibaba到底坑不坑?反正是解放了部分使用的繁琐!
  2. 互联网公司常用MySQL分库分表方案
  3. 程序员想知道代码是怎样跑起来的
  4. 最近和前字节跳动大佬聊了聊今年春招面试的变化
  5. 钉钉崩,钉钉崩,钉钉崩完QQ群崩...
  6. JEECG整合finereport快速搭建与开发
  7. MySQL基础篇(07):用户和权限管理,日志体系简介
  8. Nginx - 配置
  9. 在windows命令行中查询MySQL乱码
  10. iscroll5实现一个下拉刷新上拉加载的效果