Qtを使用してWindows上でC++アプリを構築しようとしています。
私の設定は次のとおりです。
- インストール済みVs2008、2010、2012
- Qt5RC1をインストールしました
#includeしてstd::unique_ptrを使おうとすると、定義されていないことがわかります。VS2010ヘッダーを調べて、_HAS_CPP0Xを定義する必要があることを確認したので、DEFINES +=_HAS_CPP0Xとして.proに追加しました。
これはまだ効果がなかったので、Ctrlキーを押しながら#includeメモリをクリックして、次のメモリヘッダーを使用していることを確認しました。
C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ include
本当にそこにstd::unique_ptrがありません!
確かにそれは見ているはずです:
C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ include?
フルパスを介してメモリを含めると思いましたが、移動や右辺値の参照など、C ++ 11に関連する、含まれているメモリヘッダー自体のエラーで失敗します。
だから私が知りたいのは:
- QtonWindowsはVs2010でサポートされているC++11機能を使用できますか?
- はいの場合、どのように?
- いいえの場合、LinuxでクロスプラットフォームのQt 5アプリを開発することは、他のプラットフォーム用に構築することが不可能であるため、クロスプラットフォームではないことを意味することに非常に失望しています。
編集:
これに対する解決策は明らかです。Qt5のソースをダウンロードしてMinGWでビルドすると、すべて設定されます(受け入れられた回答のC ++ 11 proオプションを含む)。