g++ で C++11 をコンパイルする 質問する

g++ で C++11 をコンパイルする 質問する

C++ コンパイラを C++11 にアップデートしようとしています。少し調べた結果、-std=c++0xまたはフラグを使用する必要があるという結論に達しました-std=gnu++0xが、フラグについてよくわかりません。どなたか助けていただけませんか? (Ubuntu 12.04 を使用しています。)

C++11 に含まれているライブラリ (つまり配列) を使用しようとすると、コンパイラから次のエラーが発生します。

#include <array>
#include <iostream>

int main()
{
    std::array<int, 3> arr = {2, 3, 5};
    ...
}

このファイルには、今後の ISO C++ 標準である C++0x のコンパイラとライブラリのサポートが必要です。このサポートは現在実験段階であり、-std=c++0x または -std=gnu++0x コンパイラ オプションで有効にする必要があります。

ベストアンサー1

フラグ (またはコンパイラ オプション) は、コンパイラ実行ファイルに渡される通常のコマンド ライン引数に他なりません。

コマンドライン (ターミナル) から g++ を呼び出すと仮定します。

$ g++ -std=c++11 your_file.cpp -o your_program

または

$ g++ -std=c++0x your_file.cpp -o your_program

上記の方法が機能しない場合は、

おすすめ記事