58

Qtでプログラムを開発しています。その makefile は、.pro ファイルから自動的に生成されます。-std=c++11 フラグを g++ 用に設定する必要があるコードを使用する必要があります。.pro のどこにこのフラグを追加すればよいですか? (プロジェクトをビルドするたびに、新しく生成されたものによって上書きされるため、Makefile のみを変更しても機能しません)。

4

5 に答える 5

22

特定のフラグ(あなたが言及した)を挿入したくなるかもしれません

QMAKE_CXXFLAGS += -std=c++11

あなたの .pro ファイルに、しかしこれはあなたに代わってそのフラグだけを挿入します。

それでは不十分です。正しい方法は、代わりに挿入することです

CONFIG += c++11

あなたの.proファイルで。次に、必要な 2 つまたは 3 つの変更が次のように行われqmakeます。

  1. -std=c++11挿入されます。
  2. -stdlib=libc++挿入されます。
  3. Mac を使用している場合は、 に-mmacosx-version-min=10.6なり-mmacosx-version-min=10.7ます。(おそらく、他の OS または OS バージョンでも同様の変更が必要です。)

(同様の問題は12にあります。)

于 2014-05-12T17:31:10.433 に答える
0
CONFIG += c++11 

Ubuntu デスクトップに qt5-default をインストールした後、.pro ファイルで Qt4 SDK を使用すると動作するように見えます。

sudo apt install qt5-default

とにかく、生成されたメイクファイルには-std=c++0x、C++11 コードをコンパイルするのに十分であると思われるオプションが含まれています。

于 2016-09-09T06:21:40.737 に答える