コンパイルしたいときは、次-std=c++11
のように指定する必要があります。
g++ -Wall -std=c++11 main.cpp -o main
そして、 -std=c++11 フラグを永続的に設定する解決策があったので、それが可能になるのではないかと思います:
g++ -Wall main.cpp -o main
フラグなし。
エイリアスを作成しますalias g++='g++ -std=c++11'
。うまくいくはずです。
clang
(ただし、OS X に付属している GCC のバージョンは非常に古いため、C++11 をサポートしていないため、 andを使用した方がよいでしょうclang++
。)
これがすでに受け入れられていることは知っていますが、提供できるアドバイスがあるように感じます。C ++のメイクファイルを使用する必要がある場合、これは私がSOで回答するために使用するものです。
CFLAGS=-std=c++11
CFLAGS+=-stdlib=libc++
CC=clang++
#flags for test.c
cc=clang
DEBUG=-g
#warnings
WARNINGS=-Weverything
#always have -Weverything on for SO lol
OPT= -O0 -O1 -O2 -O3 -O4
test: test.cpp
$(info set CC for compiler)
$(CC) $(CFLAGS) $< -o $@ $(DEBUG)
stack: stack.cpp
$(CC) $(CFLAGS) stack.cpp -o $@ $(DEBUG) $(WARNINGS)
testc: test.c
$(cc) $< -o $@ $(DEBUG)
clean:
rm test
SOから誰かのくだらないコードをダウンロードするたびに、必要に応じてフラグを簡単に変更できるcおよびc ++ファイルのメイクファイルがあります。
bashエイリアスについては、C ++ 11標準を使用したくない場合にalias clang++11='clang++ -std=c++11
上書きしないようにエイリアスを作成することをお勧めします。clang++
最後に、先ほどお見せした行を.bash_profile
、Mac のホームまたは~
フォルダーにある に追加できます。これにより、変更が永続的なものになります。変更したら、実行source .bash_profile
して変更を有効にします。Linux では、ファイル名は.bashrc
. これらのヒントが、C++ を使用するときに役立つことを願っています。Mac のコマンド ラインを学習することをお勧めします。Linux のコマンド ラインとは異なる点があります。コマンド ラインでできることのいくつかを知っておくと非常に役立ちます。