問題:Qt中包含QPrintDialog、QPrinter、QPrintPreviewDialog失敗;在引入printsupport后報cpp:651: error: undefined reference to `_imp___ZN8QPrinterC1ENS_11PrinterModeE'錯誤的原因?
解決方法:
1. 在Qt中引入QPrintDialog、QPrinter、QPrintPreviewDialog頭文件需要分別使用QtPrintSupport
#include<QtPrintSupport/QPrintDialog>
#include<QtPrintSupport/QPrinter>
#include<QtPrintSupport/QPrintPreviewDialog>
在引入QtPrintSupport后還會報下面
cpp:651: error: undefined reference to `_imp___ZN8QPrinterC1ENS_11PrinterModeE'這樣的錯誤
此時還需要在工程的Pro文件中引入printsupport
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport
此時問題就可以解決了。
2.另外一種方法是在工程的Pro文件中直接加配置
qtHaveModule(printsupport): QT += printsupport
案例:
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
qtHaveModule(printsupport): QT += printsupport
TARGET = MyselfWord
TEMPLATE = app
