Qt引入第三方库(亲测Qt4和Qt5)

2020-08-26 10:46:29 浏览数 (1)

这两天看老师发的FFMpeg的示例(先用的是Qt4),爆了一串找不到第三方库的文件,于是我决定找找原因。 然后让Qt4气的要死。。。。。 其中还有不少门路还没理清楚,水很深啊。

通用方法:用代码写下去。

代码语言:javascript复制
老师的栗子就用代码写了,不过那个Qt4好像不认,给我气半死。

在pro文件中操作:

附加头文件包含目录

一般要编译链接第三方库时配置include目录 例如:

代码语言:javascript复制
INCLUDEPATH  = $$PWD/ffmpeg/include 
                $$PWD/sdl/include

$$PWD:当前路径的意思,这符号可不好搜啊 (要是愿意用绝对路径也是可以的,就是会比较慢一点) 可以用-L指定目录,-l指定库的名称(无需后缀,.lib,.a, .so都适用)(查别的文档时有看到-L和-l)

  • 相对路径中./可以省略
  • 路径中不允许出现空格
链接库

对于静态库(.lib, .a)以及动态库.so

代码语言:javascript复制
LIBS     = $$PWD/ffmpeg/lib/avcodec.lib 
            $$PWD/ffmpeg/lib/avdevice.lib 
            $$PWD/ffmpeg/lib/avfilter.lib 
            $$PWD/ffmpeg/lib/avformat.lib 
            $$PWD/ffmpeg/lib/avutil.lib 
            $$PWD/ffmpeg/lib/postproc.lib 
            $$PWD/ffmpeg/lib/swresample.lib 
            $$PWD/ffmpeg/lib/swscale.lib 
            $$PWD/sdl/lib/libSDL2.a

  • 以上的办法通用,不过Qt4偶尔还是会说找不到库

方法二:采用Qt内设快捷方式

1.
2.
3.
4.
5.
6.

有趣的是,在第三步跨向第四步时,会发现Qt4只能检索后缀为 .lib 的库文件,Qt5就没有这个限制了。

我觉得吧,工欲善其事,必先利其器。还是用Qt5吧。

以上为Windows链接库所用,linux没测过。

qt

0 人点赞