QT使用外部库
一、简述
当QT使用第三方库时,编译会报错,哪怕是使用linux下的软件库时都有可能报错,所以在使用的时候需要添加一下外部库的路径,这里我以mosquitto的库函数为例,主要的导入方式有两种。
二、添加外部库
- 在'.pro'文件中添加库的路径
添加库文件
unix:!macx: LIBS += -L/home/linux/arm-lib/openssl/lib
unix:!macx: LIBS += -L/home/linux/arm-lib/mosquitto/lib
unix:!macx: LIBS += -lmosquitto -lpthread -lssl -ldl -lcrypto
添加头文件
INCLUDEPATH += /home/xfg/linux/arm-lib/mosquitto/include
DEPENDPATH += /home/xfg/linux/arm-lib/mosquitto/include

注意:这里添加头文件和Makefile的方式有点一点不同,在QT中添加头文件时路径之前没有'-I',而库文件是相同的都有'-L'.
2. 使用QtCreator软件添加
在项目名称处右键→添加库

选择需要添加库的类型

选择库的路径


到这里基本就比较熟悉了,通过图形界面的方式最终都是在'pro'文件中添加相应的路径。
三、整理项目文件
由于QT的项目建立好后,所有的源文件可头文件都在同一个文件夹中,当文件过多是不利于维护,所以需要将文件进行分类,如下图所示



在项目中创建相应的文件夹,将相应的文件进行移动,最后在'pro'文件中做简单的更改即可,如下图所示

四、未使用变量警告
在qt的函数中未使用的形参或变量会有警告,编译的时候会有很对警告生成,而这里警告的意义不大,所以需要取消这类警告的提示,只需要在'pro'文件中加入下面两代码即可
QMAKE_CXXFLAGS += -Wno-unused-parameter
QMAKE_CXXFLAGS += -Wno-unused-variable

QT使用外部库的更多相关文章
- Qt 添加外部库文件(四种方法)
Qt添加外部库文件, 一种就是直接加库文件的绝对路劲,这种方法简单,但是遇到多个库文件的时候,会很麻烦,而且,如果工程移动位置以后还需要重新配置 另一种就是相对路径了,不过Qt 编译的文件会在一个单独 ...
- 【转】QT 添加外部库文件
转自:Qt 添加外部库文件 LIBS += D:\Code\Opengltest\OpenGL32.Lib D:\Code\Opengltest\GlU32.Lib # 直接加绝对路径 LIBS += ...
- QT 添加外部库文件
LIBS += D:\Code\Opengltest\OpenGL32.Lib D:\Code\Opengltest\GlU32.Lib LIBS += OpenGL32.Lib GlU32.Lib ...
- Ubuntu下 QT添加外部链接库(.so文件)示例
参考:https://blog.csdn.net/KKALL1314/article/details/81915354 https://forum.qt.io/topic/80301/file-not ...
- Qt动态连接库/静态连接库创建与使用,QLibrary动态加载库
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt动态连接库/静态连接库创建与使用,QLibrary动态加载库 本文地址:https ...
- Linux下Qt创建共享库与链接共享库详解
随着程序写的逐渐变多,或多或少的我们都会使用别人写好的库:或者我们不想让别人看到我们的一些核心程序,可以将核心程序封装成库.本次和大家分享的是在Ubuntu下使用Qt生成共享库以及在Qt中链接共享库的 ...
- QT通过静态库调用Go
## 编写Go代码 package main import( "fmt" "C" ) //export test func test(str *C.char) ...
- QT中静态库的生成与使用
一. 静态库的生成 1. 测试目录: lib 2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为&qu ...
- 基于Qt的第三方库和控件
====================== 基于Qt的第三方库和控件 ====================== libQxt -------- http://dev.libqxt.o ...
- QT中共享库的生成与使用
一. 静态库的生成1. 测试目录: lib2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为"I'm i ...
随机推荐
- 李沐动手学深度学习pytorch实践笔记
1.pytorch中的矩阵乘法: 2.标量对向量求导: 3.pytorch的backward函数: 4.如何直观理解梯度下降: 梯度,是个向量,有方向和长度就是向量,向量里的各个元素是偏导.是标量对向 ...
- 【K8S】如何进入kubernetes的一个pod
如何进入kubernetes的一个pod呢,其实和进入docker的一个容器相似: 进入docker容器 : docker exec -ti <your-container-name> / ...
- Windows上部署spring boot jar项目
1.下载地址:https://github.com/winsw/winsw/releases 下载红色框内三个文件就够了. sample-allOptions.xml 所有配置参考 sample-mi ...
- VS2010插件NuGet
下载地址 NuGet Package Manager - Visual Studio Marketplace NuGet包地址 NuGet Gallery | Home
- module的定义及端口的作用
模型功能 module是verilog中层次划分的基本单元 通过module之间的调用,可以实现硬件描述层次的提高 端口列表则是module的输入输出,和数字电路的走线连接等效 基于module的不断 ...
- KingbaseES使用sys_backup.sh脚本init初始化配置文件常见错误处理
KingbaseES使用sys_backup.sh脚本init初始化配置文件常见错误处理: 一.sys_backup.sh脚本按照如下顺序寻找初始化配置文件: [kingbase@postgres ~ ...
- 巧用dblink 实现多进程并行查询
概述 对于分区表的大数据统计分析,由于数据量巨大,往往需要采用并行.但是数据库并行的效率相比分进程分表统计还是有比较大的差距.本文通过巧用dblink,实现分进程分分区统计数据. 例子 kingbas ...
- Azkaban 2.5 Documentation
Overview Azkaban was implemented at LinkedIn to solve the problem of Hadoop job dependencies. We had ...
- Jenkins安装插件很慢的解决方法
修改 Jenkins / update / default.json 这个文件就可以了 修改内容 1. 把 " www.google.com " 改成 " h ...
- Python设计模式----2.工厂模式
工厂方法模式是简单工厂模式的衍生,解决了许多简单工厂模式的问题 首先完全实现'开-闭 原则',实现了可扩展.其次更复杂的层次结构,可以应用于产品结果复杂的场合. 工厂方法模式的对简单工厂模式进行了抽象 ...