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:
图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调用库的方式相关推荐
- 计算机中的文件资源组织方式是什么意思,Windows中的库是什么,以及如何使用它们来组织文件 | MOS86...
库是最容易被误解的,也是Windows中最有用的功能之一.它们可以帮助用户有效地组织文件和文件夹.通过使用库,您可以构建一个系统,以便始终可以在几秒钟内找到所需内容.不仅如此,您还可以通过点击几下(或 ...
- 摈弃 Windows 低效率的工作方式,发掘 Linux 身上的 UNIX 气质
[原文链接] 摈弃 Windows 低效率的工作方式,发掘 Linux 身上的 UNIX 气质 我已经半年没有使用 Windows 的方式工作了.Linux 高效的完成了我所有的工作. GNU/Li ...
- C/C++:Windows编程—调用DLL程序的2种方法
前言 先简单介绍下DLL.DLL:Dynamic Link Library 动态链接库 是一个被其他应用程序调用的程序模块,其中封装了可以被调用的资源或函数.DLL 文件属于可执行文件,它符合Wind ...
- 编译c语言动态库,使用gcc、g++编译C/C++源程序,静态库和动态库创建方式
后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序: 后缀为.cpp的,两者都会认为是c++程序. 注意,虽然c++是c的超集,但是两者对语法的要求是有区别的. 编译阶段,g++会调用gc ...
- python库的调用三种方法_python中调用库的方法
python中调用库的方法 发布时间:2020-09-02 11:41:21 来源:亿速云 阅读:93 作者:小新 小编给大家分享一下python中调用库的方法,希望大家阅读完这篇文章后大所收获,下面 ...
- 短小强悍的JavaScript异步调用库
原文链接: 7 lines JavaScript library for calling asynchronous functions 翻译人员: 铁锚 翻译时间: 2014年02月18日 示例地 ...
- windows .exe 文件默认打开方式变成记事本的解决方法
windows .exe 文件默认打开方式变成记事本的解决方法 如果cmd.exe打不开,先将默认打开方式切换成cmd.exe 如果用户选择了默认的模式,会在注册表中写一个UserChoice的注册信 ...
- 标准C函数库头文件、POSIX标准库头文件和Windows API函数库头文件说明
1. 标准C函数库头文件 名字 源自 描述 <assert.h> 包含断言宏,被用来在程序的调试版本中帮助检测逻辑错误以及其他类型的bug. <complex.h> C99 一 ...
- 目标检测 YOLOv5 - ncnn模型的加密 C++实现封装库和Android调用库示例
目标检测 YOLOv5 - ncnn模型的加密 C++实现封装库和Android调用库示例 flyfish 文章目录 目标检测 YOLOv5 - ncnn模型的加密 C++实现封装库和Android调 ...
最新文章
- Fisheye camera
- 最好用的在线思维导图软件
- eclipse菜单字体乱码的解决
- Tarjan算法学习1-双连通
- 10分钟了解JSON Web令牌(JWT)
- Spring Cloud生态系统
- mybatis插入数据后返回自增主键ID详解
- DCMTK:wwwapp instalation
- 总有几位老师让你一生感激不尽----我的大学老师
- python单词的含义-Python常用英文单词有哪些?
- perl统计http日志ip
- 再见了,Docker Desktop!
- ERDAS遥感影像处理-专题图制作
- deepin C++ 编译错误 file not found 其实是原文件后缀的问题
- LayaBox ARPG游戏副本之《帮派联赛》水晶占领核心玩法详解
- (4) STM32 AS608指纹识别模块测试代码
- xml中foreach循环
- 用Python登陆新版正方教务系统获取课程表(及RSA加密密码实现)
- PTA 7-9 叶节点求和 (20 分)
- 证券基金行业那些智能XX——智能客服