2

私は新しく、qt 5.5でQuazipを使用しようとしています。そこで、http: //quazip.sourceforge.net/からプロジェクト ソースをダウンロードし、.pro ファイルを開きました。プロジェクトをビルドしようとすると、複数のエラーが発生しました:

C1083: Cannot open include file: 'zlib.h': No such file or directory

インストールしたばかりの Windows で zlib をビルドしないようにするために (ここから: http://gnuwin32.sourceforge.net/packages/zlib.htm )、C:\GnuWin32 にある Windows 用の完全なパック。次に、次の行を .pro ファイルに追加しました。

INCLUDEPATH += C:\GnuWin32\include

これにより、別のエラーが発生しました。

Cannot open include file: 'unistd.h': No such file or directory

しかし、この行を変更する

#if 1           /* HAVE_UNISTD_H -- this line is updated by ./configure */

これに問題を修正しました。

#if HAVE_UNISTD_H

残念ながら、現在、25 個の未解決の外部シンボルを取得しています。そのうちのいくつかは次のとおりです。

quaadler32.obj:-1: error: LNK2019: unresolved external symbol adler32 referenced in function "public: virtual unsigned int __cdecl QuaAdler32::calculate(class QByteArray const &)" (?calculate@QuaAdler32@@UEAAIAEBVQByteArray@@@Z)
quacrc32.obj:-1: error: LNK2019: unresolved external symbol crc32 referenced in function "public: virtual unsigned int __cdecl QuaCrc32::calculate(class QByteArray const &)" (?calculate@QuaCrc32@@UEAAIAEBVQByteArray@@@Z)
unzip.obj:-1: error: LNK2001: unresolved external symbol crc32
quagzipfile.obj:-1: error: LNK2019: unresolved external symbol gzopen referenced in function "private: void * __cdecl QuaGzipFilePrivate::open(class QString const &,char const *)" (?open@QuaGzipFilePrivate@@AEAAPEAXAEBVQString@@PEBD@Z)
quaziodevice.obj:-1: error: LNK2019: unresolved external symbol deflateInit_ referenced in function "public: virtual bool __cdecl QuaZIODevice::open(class QFlags<enum QIODevice::OpenModeFlag>)" (?open@QuaZIODevice@@UEAA_NV?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z)
quaziodevice.obj:-1: error: LNK2019: unresolved external symbol inflate referenced in function "protected: virtual __int64 __cdecl QuaZIODevice::readData(char *,__int64)" (?readData@QuaZIODevice@@MEAA_JPEAD_J@Z)

この行を追加してみます:

LIBS += -LC:\GnuWin32\lib

しかし、それは問題を解決しませんでした。Qt で Quazip を使用する最も簡単な方法は何ですか?

4

1 に答える 1

6
  1. quzip サイトから quazip ソースをダウンロードします。
  2. Qt Creator quazip.pri で開く
  3. すべての文字列を置き換えます #include "zlib.h" または "#include < zlib.h>"

#include <QtZlib/zlib.h>
  1. プロジェクトをビルドし、単体テストを実行します。
于 2015-09-16T15:13:18.460 に答える