1

私はこの種の経験がなくて申し訳ありませんが、Win 10 で Qt 5.6 で Quazip を使用する方法を見つけるためにインターネットをしばらく検索してきました。 Qt Creator で使用します。

これまでのところ、Quazip をダウンロードして、.pro ファイルに pri ファイルを含めてみました。

include(quazip-0.7.2/quazip.pri)

次に、次のすべてのインスタンスを置き換えました。

#include "zlib.h"

#include <zlib.h>

#include <QtZlib/zlib.h>

これを行った後、いくつかのエラーとともに多くのコンパイラ警告が表示されます。

私のエラーは次のとおりです。

QuaZIODevice::staticMetaObject': definition of dllimport static data member not allowed
QuaGzipFile::staticMetaObject': definition of dllimport static data member not allowed
QuaZipFile::staticMetaObject': definition of dllimport static data member not allowed

15 件の警告すべてに次の内容が含まれています。

inconsistent dll linkage

この件に関して何かお役に立てば幸いです。

4

1 に答える 1

2

ドキュメントからの引用:

デフォルトでは、QuaZIP は DLL/SO としてコンパイルされますが、他のオプションがあります。

  • 適切なソース ファイルをプロジェクトにコピーして使用するだけですが、QuaZIP ヘッダーを含める前に QUAZIP_STATIC を定義する必要があります (コンパイラ オプションとして行うのが最適です)。これにより、QuaZIP シンボルのインポート/エクスポートの副作用を回避できます。

これはあなたがやっていることのようですので、おそらくDEFINES += QUAZIP_STATIC.pro ファイルに追加する必要があります。

于 2016-07-19T17:20:18.353 に答える