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

513 查看

关于在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{}这个来包含,不然编译照样报错。