MacターミナルでC++11に対応したC++をコンパイルする方法
質問
Mac ターミナルで C++11 のソース コードをコンパイルしようとしましたが、失敗しました。私は
g++ -std=c++11
,
g++ -std=c++0x
,
g++ -std=gnu++11
と
g++ -std=gnu++0x
を実行しましたが、何も動作しませんでした。ターミナルでは常に
unrecognized command line option
. しかし
g++ -std=gnu
などは問題なく動作しました (もちろん C++11 のソース コードは通過できません)。
C++11のサポートをオンにするには、どのオプションを使用すればよいですか?
ちなみに、私が使用しているコマンドラインツールはXcode内にインストールされており、それらが最新であることは間違いないです。
どのように解決するのですか?
他の方が指摘されているように
clang++
ではなく
g++
. また、デフォルトの libstdc++ の代わりに libc++ ライブラリを使用する必要があります。同梱の libstdc++ はかなり古いバージョンのため、C++11 ライブラリの機能が含まれていません。
clang++ -std=c++11 -stdlib=libc++ -Weverything main.cpp
Xcodeのコマンドラインツールをインストールしていない場合は、インストールしなくてもコンパイラや他のツールを実行することができます。
xcrun
ツールを使用します。
xcrun clang++ -std=c++11 -stdlib=libc++ -Weverything main.cpp
また、特定の警告を無効にしたい場合、コンパイラに追加のフラグを渡すことができます。警告メッセージの最後には、その警告を有効にするための最も具体的なフラグが表示されます。その警告を無効にするには、警告の前に
no-
を警告の名前に追加します。
例えば、c++98互換性警告はおそらく必要ないでしょう。これらの警告の最後にはフラグが表示されます。
-Wc++98-compat
と表示され、これを無効にするには
-Wno-c++98-compat
.
関連
-
[解決済み】Macでポート3000をロックしているプロセスを検索(およびkill)する
-
[解決済み】C++エラー。アーキテクチャ x86_64 に対して未定義のシンボル
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み] 既に.objで定義されている-二重包含はない
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] Mac OS Xで、指定したTCPポートでリッスンしているのは誰ですか?
-
[解決済み] ターミナルで現在の行をクリア/削除するにはどうすればよいですか?
-
[解決済み] OS Xターミナルでカーソルを単語単位で移動する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++ - 解放されるポインタが割り当てられていないエラー
-
[解決済み】IntelliSense:オブジェクトに、メンバー関数と互換性のない型修飾子がある
-
[解決済み】C++の変数はイニシャライザーを持っているが、不完全な型?
-
[解決済み] 既に.objで定義されている-二重包含はない
-
[解決済み】c++でstd::vectorを返すための効率的な方法
-
[解決済み】「std::operator」で「operator<<」にマッチするものがない。
-
[解決済み】エラー:不完全な型へのメンバーアクセス:前方宣言の
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み】Visual Studioのデバッガーエラー。プログラムを開始できません 指定されたファイルが見つかりません
-
[解決済み】演算子のオーバーロード C++; <<操作のパラメータが多すぎる