如果我尝试在代码中引用外部TagLib库(例如TagLib::FileRef f(path);
),那么在构建Qt Creator项目时会遇到以下错误,
symbol(s) not found for architecture x86_64
linker command failed with exit code 1 (use -v to see invocation)
和
Undefined symbols for architecture x86_64:
"_inflate", referenced from:
TagLib::zlib::decompress(TagLib::ByteVector const&) in libtag.a(tzlib.cpp.o)
"_inflateEnd", referenced from:
TagLib::zlib::decompress(TagLib::ByteVector const&) in libtag.a(tzlib.cpp.o)
"_inflateInit_", referenced from:
TagLib::zlib::decompress(TagLib::ByteVector const&) in libtag.a(tzlib.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Opus.app/Contents/MacOS/Opus] Error 1
21:06:29: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project Opus (kit: Desktop Qt 5.7.0 clang 64bit)
When executing step "Make"
我的简历,
QT += core gui sql
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = Opus
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
tabunit.cpp \
tabholder.cpp \
dbmanager.cpp \
articleadditiondialog.cpp \
articlefilemodel.cpp \
directoryiterator.cpp \
articleattributes.cpp
HEADERS += mainwindow.h \
tabunit.h \
tabholder.h \
dbmanager.h \
articleproperty.h \
articleadditiondialog.h \
articlefilemodel.h \
directoryiterator.h \
articleattributes.h
FORMS += mainwindow.ui \
articleadditiondialog.ui
LIBS += -L$$PWD/../../../Libraries/taglib-1.11.1/taglib/ -ltag
INCLUDEPATH += $$PWD/../../../Libraries/taglib-1.11.1/include
在/Libraries/taglib-1.11.1/下,我有this。
任何帮助,将不胜感激,谢谢。
最佳答案
添加
LIBS += -lz
到.pro文件
关于c++ - 将TagLib链接到Qt时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42215679/