我目前正在开发一个Qt
应用程序,其中包含来自Qt
库的许多#include
文件。这个项目很大,我在建筑时遇到了一个奇怪的问题。显示的错误都在QPainterpath.h
文件中,但与我的项目对它的调用无关。所有的错误都是这样的:
c:\qt\4.8.4\include\qtgui../../src/gui/painting/qpainterpath.h(397):error 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):error C2143:语法错误:缺失;'{‘之前的’ c:\qt\4.8.4\include\qtgui../../src/gui/painting/qpainterpath.h(398):error C2447:'{‘:缺少函数头(旧式正式列表?) c:\qt\4.8.4\include\qtgui../../src/gui/painting/qpainterpath.h(405):警告C4003:宏“elementCount”的实际参数不足
我以前遇到过这种情况,并且能够通过移动一些在类头下面调用的Qt
#include语句来解决这个问题。不过,我似乎搞不清楚这次是什么原因造成的。任何想法都会很棒的!
谢谢!
发布于 2013-05-28 11:29:27
我正在使用RyGuyFalcore,并找出了为什么在我们的代码中会出现这种情况,而其他人却没有看到。问题是,我们的遗留代码正在重新定义elementCount宏。因此,如果我们在包含Qt代码之前包含了遗留代码的那一部分,那么就会使用错误的宏:(我想我会在这里发布这篇文章,以避免其他人在遇到类似错误时可能遇到的盲目追逐。
https://stackoverflow.com/questions/16075185
复制相似问题