资讯专栏INFORMATION COLUMN

linux下qt使用第三方库的那些事

doodlewind / 1313人阅读

摘要:关于在下使用第三方库,对于新手来说总是折腾的尼玛的痛苦我就是新手。所以为了给大家指引怎么正确使用第三方库,本篇特意介绍是怎么搭建第三方环境开发的。

关于在linux下使用第三方库,对于新手来说总是折腾的尼玛的痛苦(我就是新手)。所以为了给大家指引怎么正确使用第三方库,本篇特意介绍qt是怎么搭建第三方环境开发的。

开发库查看工具:$sudo apt-get install pkg-config
很多时候我们并不知道自己电脑有没有这个库,所以我们可以使用这个工具来查看自己有哪些工具,或者哪些工具没有。同时,qmake是对这个工具配置支持的,所以我们很多时候很方便的使用这个。



从截图可以看出我们可以通过这个工具查到自己的库的所在位置,还有它所依赖的其他库。

开发库的一些标准:

上面截图是一个配置poppler-qt5 和ffmpeg这两个开发库的配置文件列表,我们发现这里有用到了LIBS+=还有PKGCONFIG+=这两个东西,他们有什么区别呢?其实他们都做了相同的事情,就是告诉qt 找到对应的库目录。LIBS是一个比较简单原始的办法,我们可以直接在后面加库的路径,以可以通过-l参数直接加入库的名称。PKGCONFIGz这个其实是qt对pkg-config的支持,大家看到CONFIG+= .... link_pkgconfig这个参数,其实它就是qmake会自动执行pkg-config这个工具,找到对应的库文件目录,根据的是PKGCONFIG+= poppler-qt5这一行命令。为啥有些会用LIBS+= ,然而有些用PKGCONFIG?其实两个都可以任选一个,只要使用正确就好了。只是PKGCONFIG提供了更高级的用法,大家注意后面的库文件没有前缀lib,那是应为pkg-config工具做的事情,将其简化了,很多库都可以直接这样用。当然有些库是没有的,至于有没有,我们可以直接使用命令pkg-config --cflags ××× 来验证它是否存在就好了。

第三方库的下载,我们在用某个东西,qt编译报错提示找不到库的时候,不要急,使用apt-cache search 命令模糊搜索这个库具体是什么,然后sudo apt-get install lib*-dev就行了。比如qt编译时候报错:cannot find -lavcodec ,我们可以进终端:apt-cache search avcode ,然后找到libavcode-dev 这个,复制下来安装:sudo apt-get install libavcodec-dev。

好了,只要知道这些库的缘由,我们就可以方便使用第三方库啦!有这些概念去配置第三方库基本都可以自己解决了!当然有些第三方库是c的,我们在包含他的头文件的时候不要忘了使用extern c{}这个来包含,不然编译照样报错。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/9415.html

相关文章

  • 【机器视觉】Qt集成Halcon开发环境详解(一)

    摘要:也是可以设置使用静态库的温馨提示对兼容性比较好,因此推荐使用编译器。下安装编译器温馨提示如果中已经安装编译器,则该安装步骤可以跳过。 00. 目录 文章目录 00...

    tianyu 评论0 收藏0
  • 基于树莓派的智能魔镜,支持人脸识别、情感监测、热词唤醒、语音交互,以及与手机APP交互的实现

    摘要:第步安装是一个免费开源软件,可运行世界上的服务器。要检查是否安装了,请将浏览器指向您服务器的地址例如。可以运行以下命令来显示你的服务器的地址第步安装是一个强大的数据库管理系统,用于组织和检索数据。环境是一个开源消息代理,实现了协议版本和。 目录 效果演示 第三方库的安装  换源 魔镜界面绘...

    weknow619 评论0 收藏0
  • Android分享:代码混淆那些

    摘要:前言是一个开源的代码混淆器。它可以混淆项目里面的代码,对的,你没看错,仅仅是代码。它是无法混淆代码,资源文件等。列出了原始的类,方法,和字段名与混淆后代码之间的映射。 1) 前言   ProGuard是一个开源的Java代码混淆器。它可以混淆Android项目里面的java代码,对的,你没看错,仅仅是java代码。它是无法混淆Native代码,资源文件drawable、xml等。 2)...

    宠来也 评论0 收藏0
  • 深度文件管理器技术填坑笔记

    摘要:单进程多窗口管理文件管理器是一个但进程多窗口应用。缩略图生成与管理缩略图标准原文如今文件管理器的缩略图支持图片,视频,文本,。 单例模板设计 c++里面我们经常使用单例对象,特别是在做全局对象的时候,我们希望程序里边就只有一个单例。实现一个单例的程序例如下面: class A{ public: static A* instance{ static A i...

    RichardXG 评论0 收藏0
  • 互联网江湖,桌面客户端框架技术比武大会

    摘要:而且据笔者观察,钉钉也在最近舍弃了换成了作为桌面客户端开发框架。 By 技术怪咖 欧阳森林导读:在互联网时代,如何将一个好的idea快速的转化为产品,如何在原有产品中增加新的特性,是产品能够快速的推向市场、快速占领的关键。因此,作为客户端的架构选型,面临哪几方面的需求?资深前端工程师欧阳森林针对其专业领域的经验,有着自己独到的见解。 前言 自从互联网江湖上出现了一部叫做云的秘籍,大大小...

    JinB 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<