Qt 4.6.1 for wince不支持打印 qPrinter

这篇博客探讨了在Windows CE环境下,使用Qt 4.6.1版本时遇到的打印功能不支持的问题。内容可能涉及Qt库在wince上的兼容性以及开发者可能面临的挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

确认。

 

Qt

QPrinter: Add support for Windows CE

Created: 25/Sep/09 07:45 PM   Updated: 07/Dec/09 01:58 PM
Return to search
Issue 3 of 19 issue(s)
<< Previous | QTBUG-4588 | Next >>
Component/s: Platform: Windows CE
Affects Version/s: None
Fix Version/s: 4.7.x

 

Time Tracking:
Not Specified

 

Labels:


 Description   « Hide
It would be good if Qt for WinCE had support for QPrinter.

Then you could for example create a PDF-File on a WinCE device.

But to create a PDF the QPrinter Class in Qt is used, and QPrinter is currently not supported by the WinCE Build of Qt.

 

 

 

 




如果强行加入qprinter相关的内容:修改makespec的配置文件内容;

编译会报错,看来确实是不支持

 

qpdf.cpp
painting/qpdf.cpp(361) : warning C4305: “=”: 从“double”到“qreal”截断
painting/qpdf.cpp(763) : warning C4305: “参数”: 从“double”到“qfixed”截断
painting/qpdf.cpp(776) : warning C4305: “=”: 从“double”到“qreal”截断
painting/qpdf.cpp(977) : warning C4305: “参数”: 从“double”到“qreal”截断
painting/qpdf.cpp(1811) : error C2039: “_close”: 不是“`global namespace'”的
成员
painting/qpdf.cpp(1811) : error C3861: “_close”: 找不到标识符
qpen.cpp
qpolygon.cpp
qprintengine_pdf.cpp
painting/qprintengine_pdf.cpp(63) : fatal error C1083: 无法打开包括文件:“qwinfu
nctions_wince.h”: No such file or directory
qprintengine_ps.cpp
painting/qprintengine_ps.cpp(719) : error C2039: “_close”: 不是“`global names
pace'”的成员
painting/qprintengine_ps.cpp(719) : error C3861: “_close”: 找不到标识符
qprinter.cpp
g:/install/qt-ce_vortex86dx-4.6.1/include/qtgui/private/../../../src/gui/paintin
g/qprintengine_win_p.h(196) : error C2143: 语法错误 : 缺少“;”(在“*”的前面)
g:/install/qt-ce_vortex86dx-4.6.1/include/qtgui/private/../../../src/gui/paintin
g/qprintengine_win_p.h(196) : error C4430: 缺少类型说明符 - 假定为 int。注意: C+
+ 不支持默认 int
g:/install/qt-ce_vortex86dx-4.6.1/include/qtgui/private/../../../src/gui/paintin
g/qprintengine_win_p.h(196) : error C4430: 缺少类型说明符 - 假定为 int。注意: C+
+ 不支持默认 int
g:/install/qt-ce_vortex86dx-4.6.1/include/qtgui/private/../../../src/gui/paintin
g/qprintengine_win_p.h(133) : error C2614: “QWin32PrintEnginePrivate”: 非法的
成员初始化:“pInfo”不是基或成员
g:/install/qt-ce_vortex86dx-4.6.1/include/qtgui/private/../../../src/gui/paintin
g/qprintengine_win_p.h(173) : error C3861: “ResetDC”: 找不到标识符
qrasterizer.cpp
qregion.cpp
qstroker.cpp
qstylepainter.cpp
qtessellator.cpp
qtextureglyphcache.cpp
qtransform.cpp
qwindowsurface.cpp
qpaintbuffer.cpp
qpaintengine_raster.cpp
qdrawhelper.cpp
qimagescale.cpp
qcolormap_win.cpp
qpaintdevice_win.cpp
正在生成代码...
正在编译...
qprintengine_win.cpp
g:/install/qt-ce_vortex86dx-4.6.1/src/gui/painting/qprintengine_win_p.h(196) : e
rror C2143: 语法错误 : 缺少“;”(在“*”的前面)
g:/install/qt-ce_vortex86dx-4.6.1/src/gui/painting/qprintengine_win_p.h(196) : e
rror C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
g:/install/qt-ce_vortex86dx-4.6.1/src/gui/painting/qprintengine_win_p.h(196) : e
rror C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
g:/install/qt-ce_vortex86dx-4.6.1/src/gui/painting/qprintengine_win_p.h(133) : e
rror C2614: “QWin32PrintEnginePrivate”: 非法的成员初始化:“pInfo”不是基或成员

g:/install/qt-ce_vortex86dx-4.6.1/src/gui/painting/qprintengine_win_p.h(173) : e
rror C3861: “ResetDC”: 找不到标识符
painting/qprintengine_win.cpp(73) : error C2065: “DMPAPER_LETTERSMALL”: 未声明
的标识符
painting/qprintengine_win.cpp(74) : error C2065: “DMPAPER_TABLOID”: 未声明的标
识符
painting/qprintengine_win.cpp(75) : error C2065: “DMPAPER_LEDGER”: 未声明的标
识符
painting/qprintengine_win.cpp(77) : error C2065: “DMPAPER_EXECUTIVE”: 未声明的
标识符
painting/qprintengine_win.cpp(78) : error C2065: “DMPAPER_A3”: 未声明的标识符
painting/qprintengine_win.cpp(80) : error C2065: “DMPAPER_A4SMALL”: 未声明的标
识符
painting/qprintengine_win.cpp(81) : error C2065: “DMPAPER_A5”: 未声明的标识符
painting/qprintengine_win.cpp(84) : error C2065: “DMPAPER_FOLIO”: 未声明的标识

painting/qprintengine_win.cpp(85) : error C2065: “DMPAPER_ENV_10”: 未声明的标
识符
painting/qprintengine_win.cpp(86) : error C2065: “DMPAPER_ENV_DL”: 未声明的标
识符
painting/qprintengine_win.cpp(87) : error C2065: “DMPAPER_ENV_C3”: 未声明的标
识符
painting/qprintengine_win.cpp(88) : error C2065: “DMPAPER_LETTER_EXTRA”: 未声
明的标识符
painting/qprintengine_win.cpp(89) : error C2065: “DMPAPER_LEGAL_EXTRA”: 未声明
的标识符
painting/qprintengine_win.cpp(90) : error C2065: “DMPAPER_TABLOID_EXTRA”: 未声
明的标识符
painting/qprintengine_win.cpp(91) : error C2065: “DMPAPER_A4_EXTRA”: 未声明的
标识符
painting/qprintengine_win.cpp(92) : error C2065: “DMPAPER_LETTER_TRANSVERSE”:
未声明的标识符
painting/qprintengine_win.cpp(93) : error C2065: “DMPAPER_A4_TRANSVERSE”: 未声
明的标识符
painting/qprintengine_win.cpp(94) : error C2065: “DMPAPER_LETTER_EXTRA_TRANSVER
SE”: 未声明的标识符
painting/qprintengine_win.cpp(95) : error C2065: “DMPAPER_A_PLUS”: 未声明的标
识符
painting/qprintengine_win.cpp(96) : error C2065: “DMPAPER_B_PLUS”: 未声明的标
识符
painting/qprintengine_win.cpp(97) : error C2065: “DMPAPER_LETTER_PLUS”: 未声明
的标识符
painting/qprintengine_win.cpp(98) : error C2065: “DMPAPER_A4_PLUS”: 未声明的标
识符
painting/qprintengine_win.cpp(99) : error C2065: “DMPAPER_A5_TRANSVERSE”: 未声
明的标识符
painting/qprintengine_win.cpp(100) : error C2065: “DMPAPER_B5_TRANSVERSE”: 未
声明的标识符
painting/qprintengine_win.cpp(101) : error C2065: “DMPAPER_A3_EXTRA”: 未声明的
标识符
painting/qprintengine_win.cpp(102) : error C2065: “DMPAPER_A5_EXTRA”: 未声明的
标识符
painting/qprintengine_win.cpp(103) : error C2065: “DMPAPER_B5_EXTRA”: 未声明的
标识符
painting/qprintengine_win.cpp(104) : error C2065: “DMPAPER_A2”: 未声明的标识符

painting/qprintengine_win.cpp(105) : error C2065: “DMPAPER_A3_TRANSVERSE”: 未
声明的标识符
painting/qprintengine_win.cpp(106) : error C2065: “DMPAPER_A3_EXTRA_TRANSVERSE
”: 未声明的标识符
painting/qprintengine_win.cpp(130) : error C2065: “DMBIN_ONLYONE”: 未声明的标
识符
painting/qprintengine_win.cpp(131) : error C2065: “DMBIN_LOWER”: 未声明的标识

painting/qprintengine_win.cpp(132) : error C2065: “DMBIN_MIDDLE”: 未声明的标识

painting/qprintengine_win.cpp(133) : error C2065: “DMBIN_MANUAL”: 未声明的标识

painting/qprintengine_win.cpp(134) : error C2065: “DMBIN_ENVELOPE”: 未声明的标
识符
painting/qprintengine_win.cpp(135) : error C2065: “DMBIN_ENVMANUAL”: 未声明的
标识符
painting/qprintengine_win.cpp(136) : error C2065: “DMBIN_AUTO”: 未声明的标识符

painting/qprintengine_win.cpp(137) : error C2065: “DMBIN_TRACTOR”: 未声明的标
识符
painting/qprintengine_win.cpp(138) : error C2065: “DMBIN_SMALLFMT”: 未声明的标
识符
painting/qprintengine_win.cpp(139) : error C2065: “DMBIN_LARGEFMT”: 未声明的标
识符
painting/qprintengine_win.cpp(140) : error C2065: “DMBIN_LARGECAPACITY”: 未声
明的标识符
painting/qprintengine_win.cpp(141) : error C2065: “DMBIN_CASSETTE”: 未声明的标
识符
painting/qprintengine_win.cpp(142) : error C2065: “DMBIN_FORMSOURCE”: 未声明的
标识符
painting/qprintengine_win.cpp(592) : error C3861: “SelectClipPath”: 找不到标识

painting/qprintengine_win.cpp(600) : error C3861: “SelectClipPath”: 找不到标识

painting/qprintengine_win.cpp(773) : error C3861: “BeginPath”: 找不到标识符
painting/qprintengine_win.cpp(785) : error C3861: “CloseFigure”: 找不到标识符
painting/qprintengine_win.cpp(799) : error C3861: “PolyBezierTo”: 找不到标识符

painting/qprintengine_win.cpp(810) : error C3861: “CloseFigure”: 找不到标识符
painting/qprintengine_win.cpp(812) : error C3861: “EndPath”: 找不到标识符
painting/qprintengine_win.cpp(815) : error C2065: “WINDING”: 未声明的标识符
painting/qprintengine_win.cpp(815) : error C2065: “ALTERNATE”: 未声明的标识符
painting/qprintengine_win.cpp(815) : error C3861: “SetPolyFillMode”: 找不到标
识符
painting/qprintengine_win.cpp(829) : error C3861: “FillPath”: 找不到标识符
painting/qprintengine_win.cpp(839) : error C2065: “PS_ENDCAP_SQUARE”: 未声明的
标识符
painting/qprintengine_win.cpp(840) : error C2065: “PS_JOIN_BEVEL”: 未声明的标
识符
painting/qprintengine_win.cpp(842) : error C2065: “PS_ENDCAP_FLAT”: 未声明的标
识符
painting/qprintengine_win.cpp(844) : error C2065: “PS_ENDCAP_ROUND”: 未声明的
标识符
painting/qprintengine_win.cpp(847) : error C2065: “PS_JOIN_MITER”: 未声明的标
识符
painting/qprintengine_win.cpp(849) : error C2065: “PS_JOIN_ROUND”: 未声明的标
识符
painting/qprintengine_win.cpp(851) : error C2065: “PS_COSMETIC”: 未声明的标识

painting/qprintengine_win.cpp(851) : error C2065: “PS_GEOMETRIC”: 未声明的标识

painting/qprintengine_win.cpp(851) : error C3861: “ExtCreatePen”: 找不到标识符

painting/qprintengine_win.cpp(856) : error C3861: “StrokePath”: 找不到标识符
painting/qprintengine_win.cpp(959) : error C3861: “GetProfileString”: 找不到标
识符
painting/qprintengine_win.cpp(997) : error C3861: “OpenPrinter”: 找不到标识符
painting/qprintengine_win.cpp(1006) : error C3861: “GetPrinter”: 找不到标识符
painting/qprintengine_win.cpp(1008) : error C2065: “pInfo”: 未声明的标识符
painting/qprintengine_win.cpp(1008) : error C2065: “PRINTER_INFO_2”: 未声明的
标识符
painting/qprintengine_win.cpp(1008) : error C2059: 语法错误 : “)”
painting/qprintengine_win.cpp(1009) : error C3861: “GetPrinter”: 找不到标识符
painting/qprintengine_win.cpp(1015) : error C3861: “ClosePrinter”: 找不到标识

painting/qprintengine_win.cpp(1022) : error C2227: “->pDevMode”的左边必须指向
类/结构/联合/泛型类型
        类型是“'unknown-type'”
painting/qprintengine_win.cpp(1135) : error C3861: “ClosePrinter”: 找不到标识

painting/qprintengine_win.cpp(1150) : error C3861: “DeviceCapabilities”: 找不
到标识符
painting/qprintengine_win.cpp(1157) : error C3861: “DeviceCapabilities”: 找不
到标识符
painting/qprintengine_win.cpp(1212) : error C2065: “DMCOLLATE_TRUE”: 未声明的
标识符
painting/qprintengine_win.cpp(1212) : error C2065: “DMCOLLATE_FALSE”: 未声明的
标识符
painting/qprintengine_win.cpp(1338) : error C3861: “EnumForms”: 找不到标识符
painting/qprintengine_win.cpp(1340) : error C3861: “EnumForms”: 找不到标识符
painting/qprintengine_win.cpp(1342) : error C2065: “FORM_INFO_1”: 未声明的标识

painting/qprintengine_win.cpp(1342) : error C2065: “formArray”: 未声明的标识符

painting/qprintengine_win.cpp(1342) : error C2061: 语法错误 : 标识符“FORM_INFO_
1”
painting/qprintengine_win.cpp(1345) : error C2228: “.Size”的左边必须有类/结构/
联合
painting/qprintengine_win.cpp(1345) : error C2228: “.cx”的左边必须有类/结构/联

painting/qprintengine_win.cpp(1346) : error C2228: “.Size”的左边必须有类/结构/
联合
painting/qprintengine_win.cpp(1346) : error C2228: “.cy”的左边必须有类/结构/联

painting/qprintengine_win.cpp(1498) : error C3861: “DeviceCapabilities”: 找不
到标识符
painting/qprintengine_win.cpp(1505) : error C3861: “DeviceCapabilities”: 找不
到标识符
painting/qprintengine_win.cpp(1561) : error C2065: “DEVNAMES”: 未声明的标识符
painting/qprintengine_win.cpp(1562) : error C2070: “'unknown-type'”: 非法的 si
zeof 操作数
painting/qprintengine_win.cpp(1566) : error C2065: “dn”: 未声明的标识符
painting/qprintengine_win.cpp(1566) : error C2059: 语法错误 : “)”
painting/qprintengine_win.cpp(1568) : error C2227: “->wDriverOffset”的左边必须
指向类/结构/联合/泛型类型
        类型是“'unknown-type'”
painting/qprintengine_win.cpp(1568) : error C2070: “'unknown-type'”: 非法的 si
zeof 操作数
painting/qprintengine_win.cpp(1569) : error C2227: “->wDeviceOffset”的左边必须
指向类/结构/联合/泛型类型
        类型是“'unknown-type'”
painting/qprintengine_win.cpp(1569) : error C2227: “->wDriverOffset”的左边必须
指向类/结构/联合/泛型类型
        类型是“'unknown-type'”
painting/qprintengine_win.cpp(1570) : error C2227: “->wOutputOffset”的左边必须
指向类/结构/联合/泛型类型
painting/qprintengine_win.cpp(1570) : fatal error C1003: 错误计数超过 100;正在
停止编译
qprinterinfo_win.cpp
painting/qprinterinfo_win.cpp(92) : error C2065: “PRINTER_ENUM_LOCAL”: 未声明
的标识符
painting/qprinterinfo_win.cpp(92) : error C2065: “PRINTER_ENUM_CONNECTIONS”:
未声明的标识符
painting/qprinterinfo_win.cpp(92) : error C3861: “EnumPrinters”: 找不到标识符
painting/qprinterinfo_win.cpp(95) : error C3861: “EnumPrinters”: 找不到标识符
painting/qprinterinfo_win.cpp(101) : error C2065: “PPRINTER_INFO_4”: 未声明的
标识符
painting/qprinterinfo_win.cpp(101) : error C2146: 语法错误 : 缺少“;”(在标识符
“infoList”的前面)
painting/qprinterinfo_win.cpp(101) : error C2065: “infoList”: 未声明的标识符
painting/qprinterinfo_win.cpp(101) : error C2061: 语法错误 : 标识符“PPRINTER_IN
FO_4”
painting/qprinterinfo_win.cpp(104) : error C2228: “.pPrinterName”的左边必须有
类/结构/联合
painting/qprinterinfo_win.cpp(118) : error C3861: “GetProfileString”: 找不到标
识符
painting/qprinterinfo_win.cpp(203) : error C3861: “DeviceCapabilities”: 找不到
标识符
painting/qprinterinfo_win.cpp(209) : error C3861: “DeviceCapabilities”: 找不到
标识符
qgraphicssystem_raster.cpp
qgraphicssystemfactory.cpp
qgraphicssystemplugin.cpp
qwindowsurface_raster.cpp
qbackingstore.cpp
正在生成代码...
NMAKE : fatal error U1077: “"C:/Program Files/Microsoft Visual Studio 8/VC/BIN/
cl.EXE"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “"C:/Program Files/Microsoft Visual Studio 8/VC/BIN/
nmake.EXE"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “"C:/Program Files/Microsoft Visual Studio 8/VC/BIN/
nmake.EXE"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “cd”: 返回代码“0x2”
Stop.

 

 


<script type="text/javascript"> <!-- restoreDivFromCookie('description-open', 'jira.viewissue.cong.cookie', '1'); restoreDivFromCookie('description-closed', 'jira.viewissue.cong.cookie', '0'); //--> </script>

 All    Comments    Work Log    Change History    Transitions       Sort Order: Ascending order - Click to sort in descending order
There are no comments yet on this issue.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值