zoukankan      html  css  js  c++  java
  • qt中出现error: C2059: 语法错误:“namespace”未定义等大量错误的问题

    昨天下载了一个github上的qt工程,拿回来一编译出现了N多错误,但是工程明明是正确的,没有什么特殊的配置设置,
    但是就是几乎所有的代码都在报错。
    可以看到关于类的操作都有问题
    ..qtprocessmainwindow.cpp: warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 ..qtprocessmainwindow.cpp(11): error C2447: “{”: 缺少函数标题(是否是老式的形式表?) ringsprogressbar.cpp c:usersadministratordocumentsqtprocess ingsprogressbar.h: warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 C:QtQt5.12.105.12.10msvc2017includeQtGui/qtextoption.h(149): error C2804: 二进制“operator |”的参数太多 C:QtQt5.12.105.12.10msvc2017includeQtGui/qtextoption.h(149): error C2333: “RingsProgressbar::operator |”: 函数声明中有错误;跳过函数体 C:QtQt5.12.105.12.10msvc2017includeQtGui/qtextoption.h(152): error C3254: “RingsProgressbar”: 类包含显式重写“setAlignment”,但并不从包含函数声明的接口派生 C:QtQt5.12.105.12.10msvc2017includeQtGui/qtextoption.h(152): error C2838: “setAlignment”: 成员声明中的限定名称非法 C:QtQt5.12.105.12.10msvc2017includeQtGui/qtextoption.h(155): error C3254: “RingsProgressbar”: 类包含显式重写“setFlags”,但并不从包含函数声明的接口派生 C:QtQt5.12.105.12.10msvc2017includeQtGui/qtextoption.h(155): error C2838: “setFlags”: 成员声明中的限定名称非法 C:QtQt5.12.105.12.10msvc2017includeQtGui/qtextoption.h(159): error C3254: “RingsProgressbar”: 类包含显式重写“setTabStop”,但并不从包含函数声明的接口派生 C:QtQt5.12.105.12.10msvc2017includeQtGui/qtextoption.h(159): error C2838: “setTabStop”: 成员声明中的限定名称非法 C:QtQt5.12.105.12.10msvc2017includeQtGui/qtextoption.h(163): error C3254: “RingsProgressbar”: 类包含显式重写“setTabStopDistance”,但并不从包含函数声明的接口派生 C:QtQt5.12.105.12.10msvc2017includeQtGui/qtextoption.h(163): error C2838: “setTabStopDistance”: 成员声明中的限定名称非法 C:QtQt5.12.105.12.10msvc2017includeQtGui/qtextoption.h(167): error C3412: “QMetaTypeId<RingsProgressbar::QTextOption::Tab>”: 不能在当前范围内专用化模板 C:QtQt5.12.105.12.10msvc2017includeQtGui/qpen.h(56): error C2804: 二进制“operator <<”的参数太多 C:QtQt5.12.105.12.10msvc2017includeQtGui/qpen.h(57): error C2804: 二进制“operator >>”的参数太多 C:QtQt5.12.105.12.10msvc2017includeQtGui/qpen.h(133): error C3412: “QTypeInfo<RingsProgressbar::QPen>”: 不能在当前范围内专用化模板 C:QtQt5.12.105.12.10msvc2017includeQtGui/qpen.h(136): error C2804: 二进制“operator <<”的参数太多 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(495): error C3412: “QTypeInfo<RingsProgressbar::QPainter::PixmapFragment>”: 不能在当前范围内专用化模板 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(497): error C2804: 二进制“operator |”的参数太多 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(497): error C2333: “RingsProgressbar::operator |”: 函数声明中有错误;跳过函数体 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(503): error C3254: “RingsProgressbar”: 类包含显式重写“drawLine”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(503): error C2838: “drawLine”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(508): error C3254: “RingsProgressbar”: 类包含显式重写“drawLine”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(508): error C2838: “drawLine”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(513): error C3254: “RingsProgressbar”: 类包含显式重写“drawLine”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(513): error C2838: “drawLine”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(519): error C3254: “RingsProgressbar”: 类包含显式重写“drawLine”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(519): error C2838: “drawLine”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(525): error C3254: “RingsProgressbar”: 类包含显式重写“drawLine”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(525): error C2838: “drawLine”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(530): error C3254: “RingsProgressbar”: 类包含显式重写“drawLines”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(530): error C2838: “drawLines”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(535): error C3254: “RingsProgressbar”: 类包含显式重写“drawLines”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(535): error C2838: “drawLines”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(540): error C3254: “RingsProgressbar”: 类包含显式重写“drawLines”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(540): error C2838: “drawLines”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(545): error C3254: “RingsProgressbar”: 类包含显式重写“drawLines”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(545): error C2838: “drawLines”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(550): error C3254: “RingsProgressbar”: 类包含显式重写“drawPolyline”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(550): error C2838: “drawPolyline”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(555): error C3254: “RingsProgressbar”: 类包含显式重写“drawPolyline”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(555): error C2838: “drawPolyline”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(560): error C3254: “RingsProgressbar”: 类包含显式重写“drawPolygon”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(560): error C2838: “drawPolygon”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(565): error C3254: “RingsProgressbar”: 类包含显式重写“drawPolygon”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(565): error C2838: “drawPolygon”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(570): error C3254: “RingsProgressbar”: 类包含显式重写“drawConvexPolygon”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(570): error C2838: “drawConvexPolygon”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(575): error C3254: “RingsProgressbar”: 类包含显式重写“drawConvexPolygon”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(575): error C2838: “drawConvexPolygon”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(580): error C3254: “RingsProgressbar”: 类包含显式重写“drawRect”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(580): error C2838: “drawRect”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(585): error C3254: “RingsProgressbar”: 类包含显式重写“drawRect”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(585): error C2838: “drawRect”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(591): error C3254: “RingsProgressbar”: 类包含显式重写“drawRect”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(591): error C2838: “drawRect”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(596): error C3254: “RingsProgressbar”: 类包含显式重写“drawRects”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(596): error C2838: “drawRects”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(601): error C3254: “RingsProgressbar”: 类包含显式重写“drawRects”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(601): error C2838: “drawRects”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(606): error C3254: “RingsProgressbar”: 类包含显式重写“drawPoint”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(606): error C2838: “drawPoint”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(611): error C3254: “RingsProgressbar”: 类包含显式重写“drawPoint”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(611): error C2838: “drawPoint”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(617): error C3254: “RingsProgressbar”: 类包含显式重写“drawPoint”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(617): error C2838: “drawPoint”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(622): error C3254: “RingsProgressbar”: 类包含显式重写“drawPoints”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(622): error C2838: “drawPoints”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(627): error C3254: “RingsProgressbar”: 类包含显式重写“drawPoints”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(627): error C2838: “drawPoints”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(632): error C3254: “RingsProgressbar”: 类包含显式重写“drawRoundRect”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(632): error C2838: “drawRoundRect”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(637): error C3254: “RingsProgressbar”: 类包含显式重写“drawRoundRect”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(637): error C2838: “drawRoundRect”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(643): error C3254: “RingsProgressbar”: 类包含显式重写“drawRoundedRect”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(643): error C2838: “drawRoundedRect”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(649): error C3254: “RingsProgressbar”: 类包含显式重写“drawRoundedRect”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(649): error C2838: “drawRoundedRect”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(654): error C3254: “RingsProgressbar”: 类包含显式重写“drawEllipse”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(654): error C2838: “drawEllipse”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(659): error C3254: “RingsProgressbar”: 类包含显式重写“drawEllipse”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(659): error C2838: “drawEllipse”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(664): error C3254: “RingsProgressbar”: 类包含显式重写“drawEllipse”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(664): error C2838: “drawEllipse”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(669): error C3254: “RingsProgressbar”: 类包含显式重写“drawArc”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(669): error C2838: “drawArc”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(674): error C3254: “RingsProgressbar”: 类包含显式重写“drawArc”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(674): error C2838: “drawArc”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(679): error C3254: “RingsProgressbar”: 类包含显式重写“drawPie”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(679): error C2838: “drawPie”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(684): error C3254: “RingsProgressbar”: 类包含显式重写“drawPie”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(684): error C2838: “drawPie”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(689): error C3254: “RingsProgressbar”: 类包含显式重写“drawChord”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(689): error C2838: “drawChord”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(694): error C3254: “RingsProgressbar”: 类包含显式重写“drawChord”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(694): error C2838: “drawChord”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(699): error C3254: “RingsProgressbar”: 类包含显式重写“setClipRect”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(699): error C2838: “setClipRect”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(704): error C3254: “RingsProgressbar”: 类包含显式重写“eraseRect”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(704): error C2838: “eraseRect”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(709): error C3254: “RingsProgressbar”: 类包含显式重写“eraseRect”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(709): error C2838: “eraseRect”: 成员声明中的限定名称非法 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(714): error C3254: “RingsProgressbar”: 类包含显式重写“fillRect”,但并不从包含函数声明的接口派生 c:qtqt5.12.105.12.10msvc2017includeqtguiqpainter.h(714): fatal error C1003: 错误计数超过 100;正在停止编译

    想了一下,应该不是代码内容的问题,那就只能出在格式上,首先查看代码的编码格式,是UTF-8没错,不是编码问题。这就奇怪了,查看系统设置里面,发现除了编码格式,还有换行符的设置。

    查看了一下,果然下载的内容默认设置的是UNIX的LF格式,全部改成CRLF后,编译正常。
    总结一下网上说的该类问题的原因主要分为三种:

    1. 文件编码格式,要于qt中设置一致;
    2. 换行符格式,要于qt中设置一致;
    3. 文件循环引用的问题,记得要设置宏
  • 相关阅读:
    使用C#实现DHT磁力搜索的BT种子后端管理程序+数据库设计(开源)
    便携版WinSCP在命令行下同步文件夹
    ffmpeg (ffprobe)分析文件关键帧时间点
    sqlite删除数据或者表后,回收数据库文件大小
    ubuntu 20.04下 freeswitch 配合 fail2ban 防恶意访问
    ffmpeg使用nvenc编码的结论记录
    PC版跑跑卡丁车 故事模式 亚瑟传说章节 卡美洛庆典 2阶段 心灵之眼 攻略
    There was an error loading or playing the video
    Nvidia RTX Voice 启动报错修复方法
    火狐浏览器 关闭跨域限制
  • 原文地址:https://www.cnblogs.com/chencarl/p/14812203.html
Copyright © 2011-2022 走看看