51

現在、Windows プラットフォームで C++11を完全にサポートしている C++ コンパイラはどれですか?

現在、Microsoft コンパイラは C++11 を完全にサポートしていません (また、すぐには追加されません)。
MinGW g++ (mingw.org から) はそのままではサポートされませんstd::thread。また、Qt 4 ソースをコンパイルすることもできません (QtGuid4.dll のビルド中にメモリが不足し、既知の回避策が機能しませんでした)。
Windowsでclangを機能させようとして数日を無駄にし、なんとかコンパイルできましたが、その時点でWindowsプラットフォームに移植されていなかったlibstdc ++が必要だったため、c ++ 11サポートを有効にできませんでした。また、Qt 4 ではサポートされていません。

他には何があるの?私は長い間 C++03 で作業しており、新しい機能を試してみたいと思っていますが、サポートが不完全なツールは本当に必要ありません (それは、コード) またはライブラリのリンク中に (8 GB システムで) メモリ不足になる可能性があります。

私は Windows 7 64 ビットで作業しています。64 ビットのサポートがあればいいのですが、主に 32 ビット アプリケーションに関心があるため、64 ビットの実行可能ファイルを作成する機能はオプションです。

助言がありますか?

4

3 に答える 3

8

コア言語に関しては、Clang 3.3 と GCC 4.8.1 はすでに完全に C++11 に準拠しています (バグがないかどうかは別のトピックです)。ライブラリ(STL)に関しては、Clang 3.3(libc++を使用していますが、libc++はWindowsとLinuxの両方でまだ使用できないことを知っています)は、C++11に完全に準拠した唯一のプラットフォームです。

最新の Visual C++2013 (現在は RC、2 日後に RTM になり、11 月 13 日に一般公開される予定) である MSVC は、コア言語と STL の両方で C++11 のより優れたサポートを提供しますが、まだ完全ではないと考えられています。STLに関しては、私の知る限り、これで完了です。

それは、コードが実際に使用する機能に依存すると思います。C++11 の新機能はすべて利用されていますか? Visual C++2013 の機能セットで満足できる場合は、試してみてください。それ以外の場合、clang は既に Visual Studio に統合できる Windows ポートを提供しており、ネイティブ (msvc c++ ランタイム) ライブラリにリンクできる (要求されている) ため、試してみることもできると思います。

追加: Visual C++11/14 適合ロードマップ https://udta1g.blu.livefilestore.com/y2pMXBJL7l2a5UOf_pXnLXghSUhPWK8w5skFyc50SVFcMjVwa1guQnM6R0NNLN1buBUNPGbLBejpYXXBXSbqshQKKWVfQxvJjk2jGRPPbL-UBu7gaao4Rx1ksif

于 2013-10-17T12:37:43.217 に答える