linux 编译QT atom,QT5 编译使用TagLib

需要使用TagLib读取媒体信息, 记录下编译过程

使用的文件,

使用Taglib库版本 1.6.3

QT版本 5.12.3 x32 MinGW

CMAKE版本 3.9.0

使用CMAKE 配置TagLIb

tagLib解压后如下:

d4dab36a3da2

image

配置环境变量

选择mingw的bin路径,如下图

d4dab36a3da2

image.png

打开Cmake,在Cmake中选择对应目录

如下图是我的选择,基于taglib的解压目录

d4dab36a3da2

image.png

之后点击Configure按钮,选择如下

d4dab36a3da2

image.png

再次点击Configure如下,勾选图中 WITH_ASF, WITH_MP4

d4dab36a3da2

image.png

选择上图中Generate,

在Qt Creator中编译 taglib

之前在终端下编译,,编译成功,但用起来报错,换Qt Creator中ok,应该配置有问题,不深究.

使用的pro文件见文末附件

在QtCreator中设置如下工程

点击QMake 选择Release版本进行编译

d4dab36a3da2

image.png

编译完成后就在对应目录找到.a 和.dll文件

d4dab36a3da2

image.png

之后添加头文件和库文件到你需要使用的工程中即可,添加方式参考如下:

d4dab36a3da2

image.png

之后就可以在QT中正常使用 taglib

pro文件参考

TEMPLATE = lib

INCLUDEPATH += D:/Libraries/taglib-1.6.3

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/ape

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/asf

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/flac

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/mp4

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/mpc

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/mpeg

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/ogg

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/riff

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/toolkit

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/trueaudio

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/wavpack

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v1

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/ogg/flac

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/ogg/speex

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/ogg/vorbis

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/riff/aiff

INCLUDEPATH += D:/Libraries/taglib-1.6.3/taglib/riff/wav

HEADERS += D:/Libraries/taglib-1.6.3/taglib/audioproperties.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/fileref.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/tag.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/taglib_export.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/tagunion.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/ape/apefooter.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/ape/apeitem.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/ape/apetag.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/asf/asfattribute.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/asf/asffile.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/asf/asfproperties.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/asf/asftag.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/flac/flacfile.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/flac/flacproperties.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mp4/mp4atom.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mp4/mp4coverart.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mp4/mp4file.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mp4/mp4item.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mp4/mp4properties.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mp4/mp4tag.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpc/mpcfile.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpc/mpcproperties.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/mpegfile.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/mpegheader.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/mpegproperties.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/xingheader.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v1/id3v1genres.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v1/id3v1tag.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/id3v2extendedheader.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/id3v2footer.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/id3v2frame.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/id3v2framefactory.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/id3v2header.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/id3v2synchdata.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/id3v2tag.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/attachedpictureframe.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/commentsframe.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/generalencapsulatedobjectframe.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/popularimeterframe.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/privateframe.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/relativevolumeframe.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/textidentificationframe.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/uniquefileidentifierframe.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/unknownframe.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/unsynchronizedlyricsframe.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/urllinkframe.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/ogg/oggfile.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/ogg/oggpage.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/ogg/oggpageheader.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/ogg/xiphcomment.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/ogg/flac/oggflacfile.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/ogg/speex/speexfile.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/ogg/speex/speexproperties.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/ogg/vorbis/vorbisfile.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/ogg/vorbis/vorbisproperties.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/riff/rifffile.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/riff/aiff/aifffile.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/riff/aiff/aiffproperties.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/riff/wav/wavfile.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/riff/wav/wavproperties.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/toolkit/taglib.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/toolkit/tbytevector.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/toolkit/tbytevectorlist.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/toolkit/tdebug.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/toolkit/tfile.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/toolkit/tlist.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/toolkit/tmap.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/toolkit/tstring.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/toolkit/tstringlist.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/toolkit/unicode.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/trueaudio/trueaudiofile.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/trueaudio/trueaudioproperties.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/wavpack/wavpackfile.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib/wavpack/wavpackproperties.h

SOURCES += D:/Libraries/taglib-1.6.3/taglib/audioproperties.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/fileref.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/tag.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/tagunion.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/ape/apefooter.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/ape/apeitem.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/ape/apetag.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/asf/asfattribute.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/asf/asffile.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/asf/asfproperties.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/asf/asftag.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/flac/flacfile.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/flac/flacproperties.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mp4/mp4atom.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mp4/mp4coverart.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mp4/mp4file.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mp4/mp4item.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mp4/mp4properties.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mp4/mp4tag.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpc/mpcfile.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpc/mpcproperties.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/mpegfile.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/mpegheader.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/mpegproperties.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/xingheader.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v1/id3v1genres.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v1/id3v1tag.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/id3v2extendedheader.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/id3v2footer.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/id3v2frame.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/id3v2framefactory.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/id3v2header.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/id3v2synchdata.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/id3v2tag.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/attachedpictureframe.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/commentsframe.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/generalencapsulatedobjectframe.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/popularimeterframe.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/privateframe.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/relativevolumeframe.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/textidentificationframe.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/uniquefileidentifierframe.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/unknownframe.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/unsynchronizedlyricsframe.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/mpeg/id3v2/frames/urllinkframe.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/ogg/oggfile.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/ogg/oggpage.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/ogg/oggpageheader.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/ogg/xiphcomment.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/ogg/flac/oggflacfile.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/ogg/speex/speexfile.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/ogg/speex/speexproperties.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/ogg/vorbis/vorbisfile.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/ogg/vorbis/vorbisproperties.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/riff/rifffile.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/riff/aiff/aifffile.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/riff/aiff/aiffproperties.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/riff/wav/wavfile.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/riff/wav/wavproperties.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/toolkit/tbytevector.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/toolkit/tbytevectorlist.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/toolkit/tdebug.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/toolkit/tfile.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/toolkit/tstring.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/toolkit/tstringlist.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/toolkit/unicode.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/trueaudio/trueaudiofile.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/trueaudio/trueaudioproperties.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/wavpack/wavpackfile.cpp

SOURCES += D:/Libraries/taglib-1.6.3/taglib/wavpack/wavpackproperties.cpp

HEADERS += D:/Libraries/taglib-1.6.3/config.h

HEADERS += D:/Libraries/taglib-1.6.3/taglib_config.h

DEFINES += MAKE_TAGLIB_LIB

DEFINES += WITH_ASF

DEFINES += WITH_MP4

QT -= gui

CONFIG(debug, debug|release) {

DEFINES += _DEBUG

DESTDIR = ../taglib-debug

OBJECTS_DIR = ./debug-o

} else {

DESTDIR = ../taglib-release

OBJECTS_DIR = ./release-o

}

win32 {

CONFIG += dll

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值