14

コンパイルしたいときは、次-std=c++11のように指定する必要があります。

g++ -Wall -std=c++11 main.cpp -o main

そして、 -std=c++11 フラグを永続的に設定する解決策があったので、それが可能になるのではないかと思います:

 g++ -Wall main.cpp -o main

フラグなし。

4

2 に答える 2

13

エイリアスを作成しますalias g++='g++ -std=c++11'。うまくいくはずです。

clang(ただし、OS X に付属している GCC のバージョンは非常に古いため、C++11 をサポートしていないため、 andを使用した方がよいでしょうclang++。)

于 2013-08-04T05:50:07.510 に答える
5

これがすでに受け入れられていることは知っていますが、提供できるアドバイスがあるように感じます。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 のコマンド ラインとは異なる点があります。コマンド ラインでできることのいくつかを知っておくと非常に役立ちます。

于 2013-08-04T06:31:37.767 に答える