1

私は現在、ライブラリからの多くのファイルを含むQtアプリケーションに取り組んでいます。プロジェクトは非常に大きく、ビルド中に奇妙な問題に遭遇しました。表示されるエラーはすべてファイル内にありますが、プロジェクトからの呼び出しとは関係ありません。エラーはすべて次のようになります。#includeQtQPainterpath.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 ステートメントをそれらの下に移動することで解決できました。今回は特に何が原因なのかわかりません。どんな考えでも素晴らしいでしょう!

ありがとう!

4

2 に答える 2

1

クラス定義をセミコロンで閉じるのを忘れたときに、これが起こるのを見てきました。コンパイラからの出力を見て、このエラーが発生する直前にコンパイルされたファイルを確認すると、答えがわかる場合があります。以前にコンパイルされたファイルの末尾にa;または余分な}または欠落している構文エラーを探します。}

エラーのある呼び出し.hの上にリストされているファイルからのものである可能性もあります。#include <QPainter>

それが役立つことを願っています。

于 2013-04-18T05:58:06.403 に答える
1

私は RyGuyFalcore と協力して、コードでこれが発生している理由を突き止めましたが、他の誰もそれを見ていません。問題は、従来のコードが elementCount マクロを再定義していたことです。したがって、Qt コードを含める前にレガシー コードのその部分を含めると、間違ったマクロが使用されていました :( 他の人が同様のバグに遭遇した場合に遭遇する可能性のある野生のガチョウ追跡を避けるために、これをここに投稿すると考えました。

于 2013-05-28T19:29:27.687 に答える