我正在尝试构建此Qt项目,但是遇到与zLib有关的Undefined symbol
错误:
Undefined symbols for architecture x86_64:
"_z_crc32", referenced from:
ZipPrivate::createEntry(QFileInfo const&, QString const&, Zip::CompressionLevel) in zip.o
UnzipPrivate::extractFile(QString const&, ZipEntryP const&, QIODevice*, QFlags<UnZip::ExtractionOption>) in unzip.o
"_z_deflate", referenced from:
ZipPrivate::createEntry(QFileInfo const&, QString const&, Zip::CompressionLevel) in zip.o
"_z_deflateEnd", referenced from:
ZipPrivate::createEntry(QFileInfo const&, QString const&, Zip::CompressionLevel) in zip.o
"_z_deflateInit2_", referenced from:
ZipPrivate::createEntry(QFileInfo const&, QString const&, Zip::CompressionLevel) in zip.o
"_z_get_crc_table", referenced from:
ZipPrivate::ZipPrivate() in zip.o
UnzipPrivate::UnzipPrivate() in unzip.o
"_z_inflate", referenced from:
UnzipPrivate::extractFile(QString const&, ZipEntryP const&, QIODevice*, QFlags<UnZip::ExtractionOption>) in unzip.o
"_z_inflateEnd", referenced from:
UnzipPrivate::extractFile(QString const&, ZipEntryP const&, QIODevice*, QFlags<UnZip::ExtractionOption>) in unzip.o
"_z_inflateInit2_", referenced from:
UnzipPrivate::extractFile(QString const&, ZipEntryP const&, QIODevice*, QFlags<UnZip::ExtractionOption>) in unzip.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我的项目中有一个
zlib
文件夹,其中包括zlib/zconf.h
(zlib目录是/usr/local/opt/zlib/include
的符号链接(symbolic link))和zlib/zlib.h
。我将这些行添加到我的.pro文件中:LIBS += -L/usr/local/opt/zlib/lib
INCLUDEPATH += /usr/local/opt/zlib/include
HEADERS += /usr/local/opt/zlib/include/zconf.h
HEADERS += /usr/local/opt/zlib/include/zlib.h
这就是我导入zlib的方式:
#include <zlib/zconf.h>
#include <zlib/zlib.h>
我对Qt,C++和zLib非常陌生。在Qt / C++项目中包括zlib的正确方法是什么?
最佳答案
请尝试下一个解决方案。
关于c++ - 在Qt项目中包括zLib的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47823772/