Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt QPainterpath.h错误_C++_Qt_Compiler Errors_Include Path_Qpainter - Fatal编程技术网

C++ Qt QPainterpath.h错误

C++ Qt QPainterpath.h错误,c++,qt,compiler-errors,include-path,qpainter,C++,Qt,Compiler Errors,Include Path,Qpainter,我目前正在使用Qt库中的许多#include文件开发Qt应用程序。这个项目相当大,我在建造时遇到了一个奇怪的问题。显示的错误都在QPainterpath.h文件中,但与从我的项目调用它无关。所有错误如下所示: c:\qt\4.8.4\include\qtgui../。/src/gui/painting/qpainterpath.h(397):错误C2143:语法错误:缺少“;”在“:”之前 c:\qt\4.8.4\include\qtgui../。/src/gui/painting/qpaint

我目前正在使用
Qt
库中的许多
#include
文件开发
Qt
应用程序。这个项目相当大,我在建造时遇到了一个奇怪的问题。显示的错误都在
QPainterpath.h
文件中,但与从我的项目调用它无关。所有错误如下所示:

c:\qt\4.8.4\include\qtgui../。/src/gui/painting/qpainterpath.h(397):错误C2143:语法错误:缺少“;”在“:”之前

c:\qt\4.8.4\include\qtgui../。/src/gui/painting/qpainterpath.h(397):错误C2059:语法错误:':'

c:\qt\4.8.4\include\qtgui../。/src/gui/painting/qpainterpath.h(398):错误C2143:语法错误:缺少“;”在“{”之前

c:\qt\4.8.4\include\qtgui../。/src/gui/painting/qpainterpath.h(398):错误C2447:“{”:缺少函数头(旧式正式列表?)

c:\qt\4.8.4\include\qtgui../。/src/gui/painting/qpainterpath.h(405):警告C4003:宏“elementCount”的实际参数不足

我以前遇到过一次这种情况,通过将一些
Qt
#include语句移到它们下面的其他类头之前调用,我能够解决它。不过,我似乎不知道这次是什么原因导致了它。任何想法都会很好


谢谢!

当您忘记用分号关闭类定义时,我看到过这种情况。如果您查看编译器的输出,并查看此错误开始之前编译的文件,您可能会得到答案。查找语法错误,其中缺少
或额外的
或缺少
}
在先前编译的文件末尾

它也可能来自您的
#include
调用上面列出的有错误的
.h
文件


希望这能有所帮助。

我正在与RyGuyFalcore合作,并找出了为什么我们的代码中会出现这种情况,而没有其他人看到它。问题是我们的遗留代码重新定义了elementCount宏。因此,如果我们在包含Qt代码之前包含了遗留代码的这一部分,那么使用的宏是错误的:(我想我会在这里发布这篇文章,以避免其他人在遇到类似错误时遇到任何白费力气的追逐。

这也是我最初的想法,但它发生在多个.cpp文件之后。所有这些文件都经过了彻底检查,是否缺少大括号和分号以及其中包含的标题。我的想法是,它有一些Qt库不喜欢它们包含在文件中的顺序,但通常这并不重要。如果存在一些奇怪的循环依赖项,可能会有所帮助。您是否向.pro文件添加了正确的模块?因此,我在出现错误之前检查了该文件,并找到了以前包含的GlobalData.h另一个类头。我在所有其他头之后添加了它,现在看起来很好。我还通过C++头、QT头、第三方头和我们自己的类头来订购每一个头。救命啊!