2

コード内の任意の場所で QPrinter を宣言しようとすると、次のエラーが発生します。

Error   1   error LNK2019: unresolved external symbol "__declspec(dllimport)      
public: virtual __thiscall QPrinter::~QPrinter(void)" (__imp_??1QPrinter@@UAE@XZ) 
referenced in function "private: void __thiscall ezXpns::on_loginButton_clicked(void)" (?
on_loginButton_clicked@ezXpns@@AAEXXZ)  
(path)\TestBuild_April3\TestBuild\ezxpns.obj    TestBuild

Error   2   error LNK2019: unresolved external symbol "__declspec(dllimport) 
public: __thiscall QPrinter::QPrinter(enum QPrinter::PrinterMode)" (__imp_??
0QPrinter@@QAE@W4PrinterMode@0@@Z) referenced in function "private: void __thiscall 
ezXpns::on_loginButton_clicked(void)" (?on_loginButton_clicked@ezXpns@@AAEXXZ)  
(path)\TestBuild_April3\TestBuild\ezxpns.obj    TestBuild

検索した後、リンカーはメソッド宣言を見つけることができますが、メソッド自体は見つけることができないことを意味することがわかりました。また、 について言及しても失敗するようですQPrinter。QT5でこの方式が廃止されたからかなと思ったのですが、QT-プリンタ通信の新しい方式はまだリリースされていないようです。何が問題なのですか?#IFDEFQPrinter ファイルのプリプロセッサ宣言?

私の含まれるもの:

#include <QtWidgets/QMainWindow>
#include "ui_ezxpns.h"
#include "Vector2D.h"
#include <QtPrintSupport\qprinter.h>
#include <QtPrintSupport\qprintdialog.h>
#include <QtPrintSupport\qtprintsupportglobal.h>
#include <qapplication.h>
4

1 に答える 1

11

プロジェクトで QtPrintSupport を有効にしていないと思います。追加することで有効にできます

QT += printsupport

あなたの.proファイルに。

詳細については、こちらをお読みください

于 2013-04-13T08:38:55.550 に答える