0

私のプロジェクトでは、Qt (Qwt を含む) と Boost::signals の両方を使用しています。ご存知のように、それらのマクロは互いに互換性がありません。プロジェクトをコンパイルし、CONFIG += no_keywordsすべての Qt マクロの名前を大文字のレジストリ、つまり に変更しsignals = Q_SIGNALSました。プロジェクトにはこれ以上エラーはありませんが、Qwt に次のようなエラーが含まれています

/usr/include/qwtplot3d/qwt3d_extglwidget.h:101:1: エラー: 'signals' に型名がありません
/usr/include/qwtplot3d/qwt3d_extglwidget.h:116:8: エラー: 「スロット」の前に「:」が必要です
/usr/include/qwtplot3d/qwt3d_extglwidget.h:116:8: エラー: 'slots' に型の名前がありません

Qwt はまだ Boost::signals と競合しているようです。ここで何ができますか?

4

1 に答える 1

1

Qwt はブースト信号と互換性があります - あなたは QwtPlot3D と呼ばれるライブラリについて話しているのです!

QwtPlot3D でブースト信号を使用する場合は、コードで行ったように、信号/スロット/放出マクロを置き換える実装にパッチを適用する必要があります。

于 2012-11-27T13:16:27.760 に答える