「オーバーライド」キーワードを使用するQtプロジェクトをコンパイルしようとしているため、GCC 4.8が必要です。 Ubuntu 12.04マシンにGCC 4.8を既にインストールしており、gcc-4.8およびg ++-4.8として/ usr/binにあります。
「コンパイラパス」を/usr/bin/g++-4.8
に設定したコンパイラをQt Creatorに追加し、使用しているキットがこのコンパイラを使用するように設定されていることを確認しました。ただし、qmakeが生成するMakefileは、CC = gcc
およびCXX = g++
を設定します。 -4.8
を手動で追加すると、必要な処理が行われます。 qmakeがそれを行うためのMakefileを生成しないのはなぜですか?間違ったgccバイナリを指すようにQt Creatorに欠けているものは何ですか?
update-alternatives
は仕事をすることができることを理解していますが、gccの代替バージョンを実行するためだけにそれを実行する必要はありません。 (将来的には、異なるバージョンのgccを含む2つのQtプロジェクトが必要になるでしょう。)
これを修正する方法を見つけました:.pro
ファイルに以下を追加してください:
linux-g++ | linux-g++-64 | linux-g++-32 {
QMAKE_CXX = g++-4.8
QMAKE_CC = gcc-4.8
}