1

MinGw を使用して Windows 用のコードをクロスコンパイルしようとしています。コードはかなり単純です。

ヘッダ:

    class DragLabel : public QLabel
    {

        Q_OBJECT

            public:
                DragLabel();
                void fn(QString path, int id, bool small);
    };

cpp: #include "draglabel.h"

    DragLabel::DragLabel()
    {
       /* Snip ... */
    };

    void DragLabel::fn(QString path, int id, bool small)
    {
        (void)d;
    };

サンプル関数はコンパイルに失敗し、次のようになります。

エラー: 'parameter' の宣言に 2 つ以上のデータ型があります

fn(QString...) の宣言用。[編集:] 申し訳ありませんが、このエラーは bool 変数が宣言されている場合にのみ発生することを忘れていたため、次の関数はありません:

void fn(QString path, int id);

うまくいきます。

これは、debian Linux で qmake と make を使用して正常にコンパイルされます。

ここで何が起こるか知っている人はいますか?ありがとう

4

1 に答える 1

1

MinGW の拡張キーワードのようですsmall(標準では見つかりませんでした)。によると

すべてを int に変更すると動作します

smalllongorのような修飾子で、宣言signedを拡張します。int

変数名を からsmall別のものに変更してみてください。

于 2013-03-14T11:11:06.533 に答える