で-std = C++ 11デフォルト私がコンパイルしたい場合は、私はこのような-std=c++11
を指定する必要が作る:は、Mac端子
g++ -Wall -std=c++11 main.cpp -o main
をして-stdを設定するための解決策があった場合、私は疑問に思います= C++ 11フラグは永久にできるようにする:
g++ -Wall main.cpp -o main
フラグなし。
で-std = C++ 11デフォルト私がコンパイルしたい場合は、私はこのような-std=c++11
を指定する必要が作る:は、Mac端子
g++ -Wall -std=c++11 main.cpp -o main
をして-stdを設定するための解決策があった場合、私は疑問に思います= C++ 11フラグは永久にできるようにする:
g++ -Wall main.cpp -o main
フラグなし。
エイリアスを作成します。alias g++='g++ -std=c++11'
は、このトリックを行う必要があります。
(ただし、OS Xに付属しているGCCのバージョンは、それがC++ 11をサポートしていないように古代である、あなたはclang
とclang++
を使用したほうが良いと思います。)
ハムに関する打ち鳴らすことができます: 打ち鳴らす--version アップルLLVMバージョン4.2(打ち鳴らす-425.0.28) (LLVMの3.2svnに基づく)ターゲット:x86_64-apple-darwin12.4.0 スレッドモデル:posix しかし、私はそれを使用する方法がわかりません – Choubidou
@Choubidouまあ、GCCを使用するのと同じです。 (しかし、ちょっと、ちょうどgoogle "clang usage"か "clang manual"か、コマンドラインに 'clang --help'と打つことはできませんか?) –
あなたはそうです。 clang ++ -std = C++ 11 main.cpp -o main :) – Choubidou
私はすでにこれを知っています受け入れているが、私はいくつかのアドバイスを提供するように感じる。 1つは、C++用のmakefileを使用する必要がありますが、これは私がSOに答えるために使用するものです。私は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 [email protected] $(DEBUG)
stack: stack.cpp
$(CC) $(CFLAGS) stack.cpp -o [email protected] $(DEBUG) $(WARNINGS)
testc: test.c
$(cc) $< -o [email protected] $(DEBUG)
clean:
rm test
は、今私は私がしたい場合、私は簡単にフラグを変更することができ、CおよびC++ファイル用のメイクファイルを持っています。
bashエイリアスについては、alias clang++11='clang++ -std=c++11
のように別名を付けることをお勧めします.C++ 11標準を使用しない場合はclang++
を上書きしないでください。最後に、自分の家にあるMacの.bash_profile
に表示された行を追加したり、~
フォルダに追加したりすると、変更が永続的になります。変更したら、source .bash_profile
を実行して変更を適用します。 Linuxの場合、ファイルは.bashrc
と考えられます。うまくいけば、これらのヒントはあなたの助けになるでしょうが、私はあなたにMacコマンドラインを学び、Linuxとは違いがあります。できることを知ることは非常に便利です。
'エイリアスg ++ = 'g ++ -std = C++ 11''? –
もう1つの解決策は、GCCにパッチを適用して、15年前の標準にデフォルト設定するよりも新鮮な/より賢明なオプションが含まれるようにすることです。 –
パッチ適用? それ以外の場合、エイリアスは正常に動作します。ありがとうございます。 – Choubidou