2017-12-14 35 views
0

私はこのQtのプロジェクトの建物を取得しようとしているが、私はZLIBを行うに持つこれらUndefined symbolエラーに実行しているよ:QLプロジェクトにzLibを組み込む正しい方法は何ですか?

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へのシンボリックリンクです)、zlib/zlib.hです。私は私の.PROファイルにこれらの行を含めだ:

#include <zlib/zconf.h> 
#include <zlib/zlib.h> 

私はQtの、C++、およびZLIBに非常に新しいです:

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をインポートしています方法です。 Qt/C++プロジェクトでzlibを組み込む正しい方法は何ですか?

+0

zlibをどのようにインストールしましたか? – eyllanesc

+0

LIBSに '-lzlib'を追加する –

+1

' LIBS + = -L/usr/local/opt/zlib/lib -lz'に変更する – eyllanesc

答えて

0

次の解決策を試してください。

あなたがZipPrivate :: createEntryとUnzipPrivateを定義したテキスト検索によって発見することができます
  1. zlib in Qt - QtZlib not present

  2. :: extractFileとインクルードパスにファイルやHEADERSことを含んでいます。

  3. エラーは、CONFIG変数には紛失したオプションのようです。プロジェクト内のzlibのサポートを有効にします。私はその時点でそのオプションを知らない。