0

製品を tcl-8.4 から tcl-8.5.12 に移植しています

新しいバージョンの tcl には、tclInt.h で定義されたマクロがあります。

#define localName(framePtr, i) \
    ((&((framePtr)->localCachePtr->varName0))[(i)])

また、私の製品は Qt-4.7.4 を使用しています。そしてqt-4.7.4/include/QtXml/qdom.hには属性があります

QString localName() const;

その結果、エラーが発生します: qt-4.7.4/include/QtXml/qdom.h:165:23: エラー: マクロ "localName" には 2 つの引数が必要ですが、与えられたのは 1 つだけです

この問題を解決するための提案はありますか?

Tcl で undef マクロに移動します。ただし、状況が修正されたとしても、その解決策はあまり好きではありません。

前もって感謝します

4

2 に答える 2

0

ここでの通常の解決策は、tcl 用のラッパー クラスを用意することです。tcl ヘッダーの唯一のインクルードはラッパー クラスの実装であり、Qt からは何もインクルードされません。

于 2013-07-17T13:42:36.333 に答える