2012-01-04 9 views
3

私はQT4.7.3、VS2008を使用しており、QuaZipライブラリを追加しようとしています。WindowsでQuaZipをVS2008で使用

私はQuaZip、Zlibを入手してコンパイルした後、 "quazip.lib"ファイルを作成することができます。

私はquazip.libを "Project property-> Configuration Properties-> Linker-> Input-> Additional Dependencies"に追加し、pathesを追加しました。

私は以下のようにソースコードを書いています。

#include "Updater.h" 
#include "quazip.h" 

Updater::Updater(QWidget *parent, Qt::WFlags flags) 
    : QMainWindow(parent, flags) 
{ 
    ui.setupUi(this); 

    QuaZip *qZip = new QuaZip(); 
} 

しかし、ここでは問題に巻き込まれています。

エラーメッセージは次のように表示されます。

Updater.obj:エラーLNK2019:未解決の外部シンボル "__declspec(dllimportの)公共:_ thiscall QuaZip :: QuaZip(無効)" ( _imp _ ?? 0QuaZip @@ QAE @ XZ)で参照ファンクション "public:__thiscall Updater :: Updater(クラスQWidget *、クラスQFlags)" (0Updater @@ QAE @ PAVQWidget @@ V?$ QFlags @ W4WindowType @ Qt @@@@Z) > \ updater.exe:致命的なエラーLNK1120:未解決の外部が1つ

このエラーは、宣言が存在するが確定している存在しません。

QuaZipコンストラクタを検索した結果、以下のようになりました。

QuaZip::QuaZip(): 
    p(new QuaZipPrivate(this)) 
{ 
} 

どのように修正できますか?

ありがとうございます。

私はQuazipのREADMEファイルに次のメッセージを発見した

答えて

2

:あなたが直接あなたのプロジェクトに、またはあなたが 「qmakeのCONFIG +を使用して、静的ライブラリとしてコンパイルQuaZIPを使用したい 場合QuaZIP源を含める場合

= statliclib "の場合、QUAZIP_STATICマクロを定義する必要があります。そうしないと、QuaZIPシンボルがdllimportedとしてマークされた になるため、問題が発生する可能性が高くなります。

多分あなたを助けるでしょう。

関連する問題