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. 文件循环引用的问题,记得要设置宏
  • 相关阅读:
    【数论】无平方因子的数
    【图论】【二叉树】以先序字符串方式建立二叉树
    Dev-c++使用方法?Dev-c++怎么用?这里都有啦
    【图论】【二叉树】以括号形式输出二叉树
    【NOIP2016普及组】复赛——魔法阵
    【NOIP2016普及组】复赛——海港
    python爬虫——web前端基础(3)
    python爬虫——web前端基础(2)
    python爬虫——web前端基础(1)
    python 合并两个文件并将合并内容保存在另一个文件中
  • 原文地址:https://www.cnblogs.com/chencarl/p/14812203.html
Copyright © 2011-2022 走看看