私のアプリケーションは、Qt5.xではなくQt4.xにデフォルト設定されているシステムで使用することができ、私はコンパイル/リンクしてメジャーバージョンのライブラリ。私はが最も良いと思っていた Qt4.xにQ_NULLPTRがないことを回避する方法はありますか?Qt5アプリケーションをQt4にバックポートするときにQ_NULLPTRを置き換えますか?
#ifdef Q_COMPILER_NULLPTR
# define Q_NULLPTR nullptr
#else
# define Q_NULLPTR NULL
#endif
だから私は使用する必要があります:
contains(QT_MAJOR_VERSION, 4) {
DEFINES += Q_NULLPTR=NULL
}
私qmake
プロジェクトファイルに私がthisで言及リンクがSOとして定義を示していた答えを見ましたか?
なぜアプリケーションで 'nullptr'ではなく' Q_NULLPTR'を使うのですか? C++ 11コンパイラを使用している場合に使用するQtのバージョンは関係ありません。 – sharyex
私はおそらく、「私が貢献しているFOSSアプリケーション」と言い換えるべきでしょう - 数年前にQt 5.xaに切り替えた後、私たちはQ_NULLPTRを使い始めました - 私はQt4であることに戻る方法を見つけようとしていました.xと互換性があり、できるだけ変更を加える必要はありません。私はQt4.xを使用する人々がC++ 11コンパイラを使用していると確信していません(例えば、gcc 4.7ではなく4.9)... – SlySven