2013-04-13 62 views
1

当我试图声明QPrinter来在我的代码的任何地方,我得到了以下错误:QPrinter来链接无法找到文件

Error 1 error LNK2019: unresolved external symbol "__declspec(dllimport)  
public: virtual __thiscall QPrinter::~QPrinter(void)" ([email protected]@[email protected]) 
referenced in function "private: void __thiscall ezXpns::on_loginButton_clicked(void)" (? 
[email protected]@@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_?? 
[email protected]@[email protected]@[email protected]@Z) referenced in function "private: void __thiscall 
ezXpns::on_loginButton_clicked(void)" ([email protected]@@AAEXXZ) 
(path)\TestBuild_April3\TestBuild\ezxpns.obj TestBuild 

搜索,我发现它意味着,该连接器可以找到方法声明,但没有方法后本身。此外,它似乎失败,在任何提及QPrinter。我认为这可能是因为这种方法在QT5中贬值了,但它似乎还没有发布新的QT打印机通信方法。可能是什么问题呢? #IFDEF QPrinter文件中的预处理器声明?

我包括:

#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> 

回答

6

我假设你没有为你的项目能够QtPrintSupport。 您可以通过添加

QT += printsupport 

你的.pro文件中启用它。

欲了解更多信息,请致电read here

+1

我使用visual studio,没有.pro文件。从qt菜单创建专业文件,并添加此行似乎没有帮助。我应该改变vcxproj文件吗? – Xyzk

+1

好吧,找到了如何做到这一点。右键单击您的项目,QTproject设置,允许PrintSupport。 – Xyzk