Qt开发中如何添加第三方库--(以ffmpeg和sdl库为例)

 近期做一个播放器的项目,界面采用qt开发,需要用到第三方库ffmpegsdl库。由于以前没有qt添加第三方库的经验,因此在环境配置上费了不少功夫,因此在这里总结一下

  在QT中,自动化编译过程,是通过qmake工具生成一个makefile文件实现的,它是由.pro文件生成而来的,因此添加第三方库可以从.pro工程文件入手。

添加第三方库,我们主要添加两个信息,一个是头文件信息,参数是INCLUDE,还有一个是链接库信息,参数在pro文件参数中是LIBS

同样由于我们所采用的编译器的不同,第三方库的配置方法可能不尽相同,这是由于不同编译器的编译参数决定的

 

QT常用的编译器有两个,分别是MinGw(gcc), VS;QT在编译过程中,默认获在我们设定的编译目录下生成几个makefileTupe文件,然后编译的过程起始就是根据makefile文件中的配置进行的,因此我们在指定编译参数的时候,填写的路径信息,要么是绝对路径(这种方式并不好,换台机子可能就不好使用了),或者给出第三方库文件相对于编译路径的相对地址

为了方便使用,我们将ffmepg库文件和sdl库文件,放到工程编译目录的根目录下,这样ffmpeg的头文件路径就是“./ffmpeg/include”,库文件路径就是“/ffmpeg/lib 

 MinGw

Gcc编译时引入第三方库的参数通常是

头文件引入 :gcc -I头文件目录

链接库指定:gcc -L链接库地址 -l连接库名称去掉lib

因假设我们添加ffmpe库的代码就是

# include the head file and link library of 'ffmpeg'
INCLUDEPATH     +=  ./ffmpeg/include
LIBS            +=  -L./ffmpeg/lib -lavcodec     \
                    -L./ffmpeg/lib -lavdevice     \
                    -L./ffmpeg/lib -lavfilter     \
                    -L./ffmpeg/lib -lavformat     \
                    -L./ffmpeg/lib -lavutil       \
                    -L./ffmpeg/lib -lpostproc     \
                    -L./ffmpeg/lib -lswscale
同样对了 sdl

# include the head file and link library of 'ffmpeg'
INCLUDEPATH     +=  .\sdl\include
LIBS            +=  -L.\sdl\lib -lSDL

MSVS编译环境

Vs编译器比较简单,它在编译的过程中,并不需要指定-I-L-l等参数

因此给我们省去很多麻烦,指定指定文件即可

# include the head file and link library of 'ffmpeg'
INCLUDEPATH     +=  .\ffmpeg\include
LIBS            +=  .\ffmpeg\libavcodec     \
                    .\ffmpeg\libavdevice     \
                    .\ffmpeg\libavfilter     \
                    .\ffmpeg\liBavformat     \
                    .\ffmpeg\libavutil       \
                    .\ffmpeg\libpostproc     \
                    .\ffmpeg\libswscale
 
# include the head file and link library of 'ffmpeg'
INCLUDEPATH     +=  .\sdl\include
LIBS            +=  .\sdl\libSDL
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值